Python
 Computer >> コンピューター >  >> プログラミング >> Python

NがPythonの階乗素数であるかどうかを確認します


数nがあるとすると、nが階乗素数であるかどうかを確認する必要があります。私たちが知っているように、ある数が任意の数の階乗より1少ない、または1多い素数である場合、その数は階乗素数であると言われます。

したがって、入力がn =719のような場合、出力は719 =720-1=6としてTrueになります。 -1

これを解決するには、次の手順に従います-

  • numが素数でない場合、
    • Falseを返す
  • 階乗:=1、i:=1
  • 階乗<=num+ 1、do
    • 階乗:=階乗* i
    • num + 1が階乗と同じであるか、num -1が階乗と同じである場合、
      • Trueを返す
    • i:=i + 1
  • Falseを返す

理解を深めるために、次の実装を見てみましょう-

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

入力

719

出力

True

  1. PythonでNが二面素数であるかどうかを確認します

    数nがあるとします。 nが二面素数であるかどうかを確認する必要があります。数自体が素数であり、ディスプレイの向き(通常または上下逆)に関係なく、7セグメントディスプレイを使用して同じ数または他の素数が表示される場合、その数は二面素数であると言われます。 したがって、入力がn =1181のような場合、出力はTrueになります 2つ目は、1つ目の逆さまの形式で、どちらも素数です。 これを解決するには、次の手順に従います- 関数up_side_down()を定義します。これにはnがかかります temp:=n、total:=0 0の場合、do d:=temp mod 10

  2. 素数をチェックするPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数が与えられているので、与えられた数が素数であるかどうかを確認する必要があります。 1より大きい特定の正の数で、1以外の要素はなく、その数自体は素数と呼ばれます。 2、3、5、7などは他の要素がないため素数です。 以下のこのプログラムでは、素数または非素数の性質について番号がチェックされます。 1以下の数は素数とは言えません。したがって、数値が1より大きい場合にのみ反復します。 ここで、その数が2から(num-1 // 2)の範囲の任意の数で正確に割り切れるかどうかを確認します。指定された範囲内に何ら