Next: 文字列
Up: 例 1: 素数表の作成(エラトステネスの篩(sieve))
Previous: 例 1: 素数表の作成(エラトステネスの篩(sieve))
上のプログラムでは, 数学関数ライブラリを使用しますので,
コンパイル時にオプション -lm が必要です.
プログラムでは, 次の点に注意して効率をあげています.
- MAX 以下の合成数は,
以下の数の倍数である.
から,
までの合成数は,
未満の数の倍数である.
なお, 多くの C言語の本では, 上のプログラムの変数 j の範囲を 2からはじめる
様に書いてありますが, これは上に述べた意味で効率が悪いばかりでなく,
本来のエラトステネスの方法ではありません. エラトステネスは
効率の良い方を知っていましたし, それが記録に残っているようです.
Next: 文字列
Up: 例 1: 素数表の作成(エラトステネスの篩(sieve))
Previous: 例 1: 素数表の作成(エラトステネスの篩(sieve))