ホームページ >バックエンド開発 >Python チュートリアル >素数生成を高速化するために、Python でエラトステネスのふるいアルゴリズムを最適化するにはどうすればよいでしょうか?
エラトステネスの篩 - Python での素数の検索
問題:
実装の試行中Python のエラトステネスのふるいアルゴリズムでは、実行速度が遅くなることがよくあります
解決策:
指定された実装には、いくつかの改善点があります:
1 。最適化されていないアルゴリズム:
2.リスト操作の非効率性:
最適化された実装:
これらの問題を解決するには、次の最適化されたものを検討してください。実装:
def primes_sieve2(limit): a = [True] * limit a[0] = a[1] = False for (i, isprime) in enumerate(a): if isprime: yield i for n in range(i*i, limit, i): # Mark factors non-prime a[n] = False
主な改善点:
以上が素数生成を高速化するために、Python でエラトステネスのふるいアルゴリズムを最適化するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。