エラトステネスのふるい  
Nまでの素数を列挙する手続き(アルゴリズム)

代表的な方法から、前半部分のポイント

  1. 「素数かどうか順番に確定作戦」
    • ある数i (i <= N) を調べる。
    • i より小さい全ての素数 j で割り切れないなら、その数は素数。次のi を調べる。

  2. 「pで割りきれれば消去作戦」
    • ある数i が素数のとき、
    • i より後ろの数から、Nまでの各数 j について、iで割った余りが0かどうかをチェックする。0なら、素数ではない。
    • i についてNまで繰り返す。最後まで残っている数は素数 

  3. 「pの倍数消去作戦」
    • ある数 i が素数のとき、
    • i より後ろの数について、i の倍数 (i * j j ≥ 2) は素数ではない。
    • i についてNまで繰り返す。最後まで残っている数は素数

3が、よい。ここまでが、エラトステネスのふるいの前半部分。後半部分が、以下。

後半部分のポイント

ある数Nが素数なのかどうかを調べる → Nが 「2からN-1までの素数で割りきれるか」調べる作戦しかなさそう。でも、もっと、少ない範囲で終わるのではないか。。


上のことは、こんなことを言っている。

だとすると、

エラトステネスのふるいとは

  まとめると:


おわりに