숫자 n이 있다고 가정합니다. 홀수 자리와 짝수 자리의 곱이 같은지 확인해야 합니다.
따라서 입력이 n =2364와 같으면 홀수의 곱은 2 * 6 =12이고 짝수의 곱은 3 * 4 =12이므로 출력은 True가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- num <10이면
- 거짓을 반환
- 홀수:=1, 짝수:=1
- num> 0일 때 수행
- d :=num의 마지막 숫자
- odd_place :=odd_place * d
- num :=(num/10)의 몫
- num이 0과 같으면
- 중단
- d :=num의 마지막 숫자
- even_place :=even_place * d
- num :=(num/10)의 몫
- odd_place가 even_place와 같으면
- 참 반환
- 거짓을 반환
예
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
def solve(num): if num < 10: return False odd_place = 1 even_place = 1 while num > 0: d = num % 10 odd_place *= d num = num//10 if num == 0: break d = num % 10 even_place *= d num = num//10 if odd_place == even_place: return True return False num = 2364 print(solve(num))
입력
2364
출력
True