今回はPythonで素数を判定する方法について学習しましょう。実際のサンプルコードもあわせて紹介します。
今回はPythonで素数を判定する方法についてお勉強しよう!
目次
Pythonで素数を判定する方法
まずは素数について確認しましょう。
素数とは
素数とは1と自分自身以外で割り切れない数
上記定義から2,3,5,7,・・・は素数で、1,4,6,8,9は素数ではありません。
Pythonで素数を判定するサンプルコード
Pythonで素数を判定するサンプルコードを確認してみましょう。
def is_prime(num):
"""与えられた数が素数かどうかを判定"""
if num <= 1:
return False
elif num == 2:
return True
elif num % 2 == 0:
return False
else:
for i in range(3, int(num**0.5)+1, 2):
if num % i == 0:
return False
return True
アルゴリズムは次のようになります。
STEP
与えられた数が1以下の場合
素数ではないので、False を返す。
STEP
与えられた数が2の場合
素数なので、Ture を返す。
STEP
与えられた数が2以外の偶数の場合
素数ではないので、False を返す。
STEP
与えられた数が1以外の奇数の場合
与えられた数の平方根までの奇数で割り切れるかどうかを調べる。
⇒割り切れる数があれば素数ではないため、False を返す。
⇒割り切れる数がなければ素数なので Ture を返す。
上の関数を使用して1から100の数が素数のものを出力してみましょう。
for num in range(1, 101):
if is_prime(num):
print(num, end=' ')
結果は次のようになります。
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
まとめ
今回はPythonで素数を判定する方法について学習してみました。
皆さんもやってみてください。
今回はPythonで素数を判定する方法についてお勉強したよ!