Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 인접한 숫자의 절대차의 합이 소수인지 확인하십시오.

<시간/>

숫자 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