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