하나의 8진수가 있다고 가정합니다. 주어진 8진수의 10진수 표현이 7로 나누어 떨어지는지 여부를 확인해야 합니다.
따라서 입력이 n =61과 같으면 61의 십진법 표현이 6*8 + 1 =48 + 1 =49이므로 7로 나눌 수 있으므로 출력은 True가 됩니다. 따라서 입력이 n =61인 경우 61의 10진수 표현은 6*8 + 1 =48 + 1 =49이며 7로 나눌 수 있으므로 출력은 True가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- 합계 :=0
- num이 0이 아닌 동안 do
- 합계 :=합 + (숫자 모드 10)
- num :=(num / 10)의 몫
- 합계 모드 7이 0과 같으면
- 참 반환
- 거짓을 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
def solve(num): sum = 0 while num: sum += num % 10 num = num // 10 if sum % 7 == 0 : return True return False num = 61 print(solve(num))
입력
61
출력
True