效率演算法 計算兩百萬以下質數的和

2022-08-27 00:15:19 字數 1032 閱讀 8261

這個題兩段**:第一段我自己寫的,電腦差點炸了。垃圾

第二段網友寫的,1.7s得出答案。流弊啊

將兩段**貼在這裡,供自己日後學習研究這種效率演算法**的超一流思路

第一段

#

電腦都快爆了,還沒算出答案

defisfrime(x):

#if x == 2:

#return true

for k in range(2,x):

if x % k ==0:

return

false

return

true

print(2 + sum([i for i in range(3,2000000,2) if isfrime(i)]))

第二段(流弊啊,愣是看了半天才懂明白是個怎樣的思路)

'''

getprime : (原理)

用的是標記法,先建乙個列表,列表的項數等於要求的最大質數,內容都為true。

然後第0,1項設為false,因為0和1都不是質數。

從第2項開始,是2的倍數的項都是設為假,因為都不是質數。

然後只要是列表內還沒有設為假的數,從它開始,它的倍數都設為假,直到列表內全部為真的數,那就是質數。

原理就是這樣。

利用列表的項數和列表值的對應關係。這樣可以減少判斷次數,當然速度就是最快的了。

'''def

run4(n):

primes = [true]*n

primes[0],primes[1]=false,false

for (i, prime) in

enumerate(primes):

ifprime:

#這一步思路最是流弊啊

for j in range(i*i,n,i): primes[j] =false

return [k for (k,trueprime) in enumerate(primes) if

trueprime]

print (sum(run4(2000000)))

兩百行業專家聚首 詳解IEC新標準

隨著光伏產業在全球的飛速發展,新技術 新材料 新產品層出不窮,市場對於光伏產品的品質要求不斷提高,新的iec標準於2016年早些時候應運而生。日前,tv南德意志集團 以下簡稱 tvsd 聯合中國計量科學研究院舉辦的光伏標準與測量技術研討會,專門就新舊iec標準的不同以及企業方如何應對新標準的考核進行...

(兩百五十五)學習應用待機儲存分割槽

android 9 api 級別 28 引入了新的電池管理功能 應用待機儲存分割槽。應用待機儲存分割槽有助於系統根據應用的使用時間新近度和使用頻率對應用資源請求確定優先順序。根據應用使用模式,每個應用都會被放置在五個優先順序儲存分割槽之一中。系統會根據應用所在的儲存分割槽限制每個應用可用的裝置資源。...

(兩百七十八)《TCP IP詳解》讀書筆記(一)

問題 1 傳送方對乙個ack需要等待多久?todo 2 如果ack丟失了怎麼辦?重傳另外涉及乙個序列號的設計,這裡重傳分兩種情況,一種是超時重傳,一種是丟失重傳,接收方可能能解收到兩個包,序列號可以用來標記判斷是否是重複包。3 如果分組被接收到了,但是裡面有錯怎麼辦?編碼可檢查差錯,但簡單的不能糾正...