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

Kiểm tra xem N có phải là một Nguyên tố thừa trong Python hay không

Giả sử chúng ta có một số n, chúng ta phải kiểm tra xem n có phải là một thừa số nguyên tố hay không. Như chúng ta biết, một số được cho là một số nguyên tố khi nó là một số nguyên tố nhỏ hơn một hoặc nhiều hơn một giai thừa của bất kỳ số nào.

Vì vậy, nếu đầu vào là n =719, thì đầu ra sẽ là True là 719 =720 - 1 =6! - 1

Để 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
  • giai thừa:=1, i:=1
  • while giai thừa <=num + 1, thực hiện
    • giai thừa:=giai thừa * i
    • nếu num + 1 giống với giai thừa hoặc num - 1 giống với giai thừa, thì
      • trả về True
    • i:=i + 1
  • trả về Sai

Ví dụ

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

from math import sqrt
def isPrime(num) :
   if num <= 1:
      return False
   if num <= 3 :
      return True
   if num % 2 == 0 or num % 3 == 0:
      return False
   for i in range(5, int(sqrt(num)) + 1, 6) :
      if num % i == 0 or num % (i + 2) == 0:
         return False
   return True
def solve(num) :
   if not isPrime(num) :
      return False
   factorial = 1
   i = 1
   while factorial <= num + 1:
      factorial *= i
      if num + 1 == factorial or num - 1 == factorial :
         return True
      i += 1
   return False
num = 719
print(solve(num))

Đầu vào

719

Đầu ra

True