어떤 숫자가 주어지고 그 숫자가 17로 나누어 떨어지는지 확인해야 한다고 가정합니다.
따라서 입력이 99943과 같으면 출력은 분할 가능합니다.
반복 빼기 방법을 사용하여 이 문제를 해결할 것입니다. 여기서 숫자의 마지막 숫자를 추출하고 17로 나누어 떨어지는 두 자리 숫자를 얻을 때까지 숫자에서 5번 뺍니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- 숫자가 100으로 나누어 떨어지는 동안 do
- last_digit :=숫자 모드 10
- 숫자 :=(숫자를 10으로 나눈 값)
- 숫자 :=숫자 - last_digit * 5
- 숫자 모드 17이 0과 같으면 true를 반환합니다.
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예
def solve(number) : while(number // 100) : last_digit = number % 10 number //= 10 number -= last_digit * 5 return (number % 17 == 0) number = 99943 if solve(number) : print("Divisible") else : print("Not Divisible")
입력
99943
출력
Divisible