1。初期化: 2から与えられた整数までの連続整数のリストを作成します。最初は、すべての数字をプライムとしてマークします。
2。反復:
*最初の数字、2から始めてください。プライムなので、すべての倍数(4、6、8など)を非プライムとしてマークします。
*次のマークのない数字、3に移動します。プライムなので、すべての倍数(6、9、12など)を非プライムとしてマークします。
*マークされていない各番号のこのプロセスを継続します。
3。結果: 最後のリストのマークされていない数字は、指定された整数までのすべての素数です。
例:
エラトステネスのふるいを使用して、すべてのプライムナンバーを20まで見つけましょう。
1。初期化:
[2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20]
2。反復:
* 2: [2、3、 4 、5、 6 、7、 8 、9、 10 、11、 12 、13、 14 、15、 16 、17、 18 、19、 20 ]
* 3: [2、3、 4 、5、 6 、7、 8 、 9 、 10 、11、 12 、13、 14 、 15 、 16 、17、 18 、19、 20 ]
* 5: [2、3、 4 、5、 6 、7、 8 、 9 、 10 、11、 12 、13、 14 、 15 、 16 、17、 18 、19、 20 ]
* 7: [2、3、 4 、5、 6 、7、 8 、 9 、 10 、11、 12 、13、 14 、 15 、 16 、17、 18 、19、 20 ]
* 11: [2、3、 4 、5、 6 、7、 8 、 9 、 10 、11、 12 、13、 14 、 15 、 16 、17、 18 、19、 20 ]
* 13: [2、3、 4 、5、 6 、7、 8 、 9 、 10 、11、 12 、13、 14 、 15 、 16 、17、 18 、19、 20 ]
* 17: [2、3、 4 、5、 6 、7、 8 、 9 、 10 、11、 12 、13、 14 、 15 、 16 、17、 18 、19、 20 ]
* 19: [2、3、 4 、5、 6 、7、 8 、 9 、 10 、11、 12 、13、 14 、 15 、 16 、17、 18 、19、 20 ]
3。結果: 20以下の素数は、2、3、5、7、11、13、17、および19です。
キーポイント:
*エラトステネスのふるいは、特定の範囲内で素数を見つけるためのシンプルで効率的な方法です。
*リストから体系的に複合数(2つ以上の要因を持つ数字)を排除することで機能します。
*指定された整数の平方根まで反復するだけです。
*このアルゴリズムは2000年以上にわたって知られています。
