Computer >> Máy Tính >  >> Lập trình >> Python

Kiểm tra xem số đã cho có phải là Số Emirp hay không trong Python

Giả sử chúng ta có một số n. Chúng ta phải kiểm tra xem n có phải là số Emirp hay không. Chúng ta đều biết số Emirp là (các chữ cái của số nguyên tố theo chiều lùi lại) là một số nguyên tố cho kết quả là một số nguyên tố khác khi các chữ số của nó được đảo ngược.

Vì vậy, nếu đầu vào là n =97, thì đầu ra sẽ là Đúng vì ngược lại của 97 là 79 là một số nguyên tố khác.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • nếu num không phải là số nguyên tố, thì
    • trả về Sai
  • reverse_num:=đảo ngược của num
  • trả về true khi reverse_num là số nguyên tố, ngược lại là false

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

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))

Đầu vào

97

Đầu ra

True