[Python] 素数判定するプログラム書いてみた

先日Python勉強会で、ある数の素数を求める問題が出て、久しく素数と言う言葉にさえ触れていなかったので

????ってなったので、その備忘録です。

ざ文系だ。。。

 

素数とは

1以上の自然数でm、1と自分自身以外で割り切ることができない数

 

コード例

 

今回は、

1000以下の素数を全て表示するプログラムを、4パターンのコードを書いてみました。

1.愚直に2から1000までの数字で割ってみる

 

2.偶数は、計算しない

偶数は、素数ではないので計算しないように条件分岐を付け加えました。

 

上記のコードで、2の倍数の条件式を書いたのですが、range()を上手く使えば条件式を書かずに

2の倍数をスキップすることができることに気づいた。

 

3. ある数 i の平方根以上の素数で割っても割り切れない

例えば、ある数が100だとすると、平方根が10

100は、10より大きい素数では絶対に割り切ることはできない。

以下のサイトに素数の詳しい解説が書いています。

素数とは

 

まとめ

やはり数学の知識なくして、エンジニアは語れないなと。。。

勉強し直さないと!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA