色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python 找質數最快

錢艷冰2年前8瀏覽0評論

Python 作為一種高級編程語言,一直以來都深受廣大開發者的喜愛和使用,尤其是在編寫算法和對數據進行處理時,它展現出了強大的優勢。在找出質數方面,Python 也不會讓人失望,下面介紹 Python 找質數最快的方法。

def primes_sieve(n):
"""使用埃拉托斯特尼篩法找出小于等于 n 的所有質數"""
sieve = [True] * (n + 1)
sieve[0] = sieve[1] = False
for i in range(2, int(n ** 0.5) + 1):
if sieve[i]:
sieve[i * i:n + 1:i] = [False] * ((n - i * i) // i + 1)
return [i for i in range(n + 1) if sieve[i]]

這段 Python 代碼采用了著名的埃拉托斯特尼篩法,通過篩掉質數的倍數的方法,找出小于等于 n 的所有質數。在代碼中,sieve 數組中每個元素對應的下標即為其代表的數字,如 sieve[2] 代表數字 2,其初始值為 True,表示這個數字是質數,然后從 2 開始,將其所有倍數的值設為 False,表示它們不是質數。最后只需要返回所有未被篩掉的質數即可。

實際上,Python 還有更為優秀的算法用于尋找質數,如primesieve-python,是一個快速的 C++ 庫的 Python 封裝,其速度比上面提到的代碼更快。