このリポジトリでは、 エラトステネスの篩(ふるい) を使用する方法と使用しない方法の 2 つの異なるアプローチで、素数を検索するコードを比較します。
$ python sieve/sieve.py
$ python no_sieve/no_sieve.py
エラトステネスの篩は、古代ギリシャの数学者エラトステネスによって考案された、素数を効率的に見つけるアルゴリズムです。所定の上限までの連続した数のリストを作成し、2 から始めてその倍数をリストから除外していくことで、素数だけが残るようにします。
- 時間計算量:
$\ O(n \log \log n) $
- 時間計算量:
$\ O(n \sqrt{n}) $