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

주어진 숫자가 Python에서 Emirp Number인지 확인하십시오.

<시간/>

숫자 n이 있다고 가정합니다. n이 Emirp 수인지 아닌지 확인해야 합니다. 우리 모두는 Emirp 숫자가 (역방향으로 소수의 글자) 소수라는 것을 알고 있습니다. 소수는 그 숫자가 반전될 때 다른 소수가 되는 결과를 낳습니다.

따라서 입력이 n =97과 같으면 97의 반대가 또 다른 소수인 79이므로 출력은 True가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • num이 소수가 아니면
    • 거짓을 반환
  • reverse_num :=num의 역순
  • reverse_num이 소수이면 true를 반환하고 그렇지 않으면 false를 반환합니다.

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

def is_prime(num):
   if num <= 1:
      return False
   for i in range(2, num):
      if num % i == 0:
         return False
   return True
def solve(num):
   if not is_prime(num):
      return False
   reverse_num = 0
   while num != 0:
      d = num % 10
      reverse_num = reverse_num * 10 + d
      num = int(num / 10)
   return is_prime(reverse_num)
n = 97
print (solve(n))

입력

97

출력

True