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

forループとif … elseステートメントを使用して整数が素数であるかどうかを確認する例。 数が素数でない場合は、出力で素数でない理由が説明されています。

1より大きい正の整数で、1以外の要素はなく、数値自体は素数と呼ばれます。 2、3、5、7などは他の要素がないので素数です。 しかし、6は素数ではありません(複合です)。 2 x 3 = 6

ソースコード

# Program to check if a number is prime or not

num = 407

# To take input from the user
#num = int(input("Enter a number: "))

# prime numbers are greater than 1
if num > 1:
   # check for factors
   for i in range(2,num):
       if (num % i) == 0:
           print(num,"is not a prime number")
           print(i,"times",num//i,"is",num)
           break
   else:
       print(num,"is a prime number")
       
# if input number is less than
# or equal to 1, it is not prime
else:
   print(num,"is not a prime number")

出力

407 is not a prime number
11 times 37 is 407

このプログラムでは、変数numが素数であるかどうかがチェックされます。 1以下の数は素数ではありません。 したがって、次の場合にのみ続行します。 num 1より大きい。

確認します num は2からnum-1までの任意の数で正確に割り切れます。その範囲内の因子が見つかった場合、その数は素数ではありません。 それ以外の場合、数は素数です。

因子を探す数の範囲を減らすことができます。

上記のプログラムでは、検索範囲は2〜 num - 1

範囲を使用できたはずですが、 range(2,num//2) または range(2,math.floor(math.sqrt(num)))。 後者の範囲は、合成数の係数がその数の平方根よりも小さくなければならないという事実に基づいています。 それ以外の場合、数は素数です。

変数の値を変更できます num 上記のソースコードで、他の整数の数が素数であるかどうかを確認します。

Hope this helps!

Source link