もっと詳しく

素数は、1つを除いて他の数で割り切れない数であるため、この記事では、Pythonでその数が素数であるかどうかを確認する方法を複数説明します。

  1. ユーザー定義機能による
  2. フラグ変数を使用する
  3. whileループを使用する

1.ユーザー定義機能による

Pythonでは、defキーワードを使用して関数を定義できます。これは、関数を定義するとコードの使いやすさが向上するため、数値が素数であるかどうかを判断するための関数を定義するのに適しています。

def checkprime(x):

if x > 1:

for y in range(2, int(x/2) + 1):

if (x % y) == 0:

print(x, "is not a prime number")

break

else:

print(x, "is a prime number")

else:

print(x, "is not a prime number")

a= int(input("Enter a number = "))

checkprime(a)

図1:ネストされたifelseの使用

出力:

自動的に生成されたテキストの説明

図2:出力

図1では、最初に、パラメーターとして数値を受け取り、指定された数値が1より大きいかどうかをチェックする関数checkprime(a)を宣言しました。 数値が1より大きい場合、forループが実行されて「x」が「y」で完全に割り切れるかどうかがチェックされます。それ以外の場合、「x」は素数ではなく、「x」は素数です。 数値が1以下の場合、else部分に直接移動し、図2に示すように、「x」は素数ではありません。

2.フラグ変数を使用する

Pythonでは、フラグ変数を使用して、数値が素数であるかどうかを確認できます。 フラグ変数には、trueまたはfalseの2つの値を指定できます。

x= int(input("Enter a number = "))

flag = False

if x > 1:

for y in range(2, x):

if (x % y) == 0:

flag = True

break

if flag:

print(x, "is not a prime number")

else:

print(x, "is a prime number")

自動的に生成されたテキストの説明

図3:フラグ変数の使用

出力:

自動的に生成されたテキストの説明

図4:出力

上記の例では、ユーザーが数字を入力し、入力された数字「x」が複数かどうかを確認するため、「x」が複数の場合にのみ続行します。 ‘x’が範囲(2、x)の任意の数値で割り切れる場合、フラグをTrueに設定し、その範囲の係数が見つかった場合はループを終了します。これは、図2に示すように、整数が素数ではないことを示します。 、フラグの値はFalseのままで、数値が素数であることを示します。

3.whileループを使用する

素数はwhileループを使用して確認できます。

x= int(input("Enter a number greater than 1= "))

f=0

y=2

while y <= x / 2:

if (x % y) == 0:

f = 1

break

y+=1

if f:

print(x, "is not a prime number")

else:

print(x, "is a prime number")

自動的に生成されたテキストの説明

図5:whileループの使用

出力:

自動的に生成されたテキストの説明

図6:出力

上記の例では、ユーザーは1より大きい数値「x」を入力するように求められます。whileループ条件がtrueの場合にチェックされ、実行されます。 まず、余りを計算して、「x」がそれ自体以外の数値で完全に割り切れるかどうかを確認します。 ‘x’が完全に割り切れる場合、変数’f’の値は更新されます。それ以外の場合は更新されません。

The post Pythonで数値が素数であるかどうかを確認する方法– LinuxWays appeared first on Gamingsym Japan.