Pythonで素数判定するコードを書いてみた

こんにちは、のっくんです。

今日はPythonで素数を判別するコードを書いていきたいと思います。

素数とは、1と自分以外でしか割り切れない自然数です。1は含みません。

例えば、

  • 3は、1と3でしか割り切れませんので、素数です。
  • 4は、1と2と4で割り切れます。2で割り切れるので、素数ではありません。

与えられた数値に対して、1と自分以外の数値を列挙してその数値で割り切れるかどうかチェックすれば判定できます。

数値の列挙には、range関数を使ってみます。

rangeの範囲は、2~(自分自身-1)までの範囲です。

1と自分自身で割り切れるのは当たり前なので、判定には使いません。

一度でも割り切れれば、Flase、

一度も割り切れなかったら、Trueを返します。

コードとしてはこれだけですが、これを使ってもう少し高度な問題を解いてみましょう。

例えば、以下の問題。

1〜50の範囲にある素数を全て求めよ。

これも同様にrangeを使って50までの自然数を列挙し、先ほど作った関数でチェックすれば計算できます。

1は調べるまでもなく素数でないので、飛ばして2から始めています。

if文で、prime_checkがTrueの時だけ、数値をプリントします。

こんな感じ!

おわり。