숫자 n이 있다고 가정합니다. 인접한 숫자 쌍의 절대차의 합이 소수인지 아닌지 확인해야 합니다.
따라서 입력이 n =574와 같으면 출력은 |5-7|과 같이 True가 됩니다. + |7-4| =5, 이것은 소수입니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- num_str :=n을 문자열로
- 총계:=0
- 범위 1에서 num_str - 1 크기의 i에 대해
- total :=total + |자리 num_str[i - 1]의 자릿수 - 자릿수 num_str[i]의 자릿수|
- 합계가 소수이면
- 참 반환
- 거짓을 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시 코드
def isPrime(num): if num > 1: for i in range(2, num): if num % i == 0: return False return True return False def solve(n): num_str = str(n) total = 0 for i in range(1, len(num_str)): total += abs(int(num_str[i - 1]) - int(num_str[i])) if isPrime(total): return True return False n = 574 print(solve(n))
입력
574
출력
True