埃拉托斯特尼篩法- 在Python 中查找素數
問題:
嘗試實作時Python中的埃拉托色尼篩法演算法,使用者經常會遇到執行速度慢的情況,特別是在搜尋 100 萬以上的質數時。
解決方案:
給定的實作提出了幾個需要改進的領域:
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中文網其他相關文章!