サンダラムの篩(サンダラムのふるい、: Sieve of Sundaram)は、指定された整数以下の全ての素数を発見するための単純な決定的アルゴリズムである。これは1934年にサスヤマンガラム(Sathyamangalam[1][2] )の生徒であるSP Sundaramによって発見された。

アルゴリズム編集

 
サンダラムの篩: 202以下の素数を発見するアルゴリズムのステップ(最適化されていない)

1から n までの整数のリストから開始する。このリストから、次の条件を満たす i + j + 2ij の形になる全ての数字を削除する。

  •  
  •  

残った数字を2倍し1を足すと、2n + 2より小さい素数のうち、2を除いたリストができる。

サンダラムの篩ではエラトステネスの篩と同様に合成数をふるい落としていくが、サンダラムの篩では2の倍数は考慮されていない。2の倍数を消す作業は、最後の2倍し、1を足す作業で行われる。 エラトステネスの方法が素数 の異なる 個の倍数を除外するとき、サンダラムの方法では を満たす  を除外する。

正当性編集

最終的な2倍し、1をたされた整数のリストは、3から2n+1までの奇数が含まれている。私たちは、リストから除外された奇数は真に合成数であることを示さなければならない。

奇数の整数は、それが2(i + j + 2ij) + 1という形で表せ、かつそのときに限り最終的なリストから除外されている。このとき、

 

よって、奇数はそれが(2i + 1)(2j + 1)と因数分解される場合、つまり非自明な奇数の因数を持つ場合かつそのときに限り最終的なリストから除外される。したがって、最終的なリストは 以下の奇素数だけを含む。


関連項目編集

脚注編集

[脚注の使い方]
  1. ^ V. Ramaswami Aiyar (1934). “Sundaram's Sieve for Prime Numbers”. The Mathematics Student 2 (2): 73. ISSN 0025-5742. 
  2. ^ G. (1941). “Curiosa 81. A New Sieve for Prime Numbers”. Scripta Mathematica 8 (3): 164. 

参考文献編集