我在python上寫了這段代碼來解決項目歐拉問題#10,但我一直在等待15分鐘(運行這段代碼),它仍然沒有結束。如何讓python上的這段代碼運行得更快?
請幫我改進此代碼或優化它。
下面是摘錄:
def prime (n):
f = 1 #flag
for i in range(2,n):
if n % i == 0:
f = 0
return f
s = 0 # Sum
for i in range(2,2000000):
if prime(i) == 1:
s = i + s
print s
你嘗試[搜索一個有關Python和素數以前的答案](https://stackoverflow.com/search q =蟒蛇+黃金)? –
嗯 - 最簡單的事情是 - 你不必一直跑到n找出素數,sqrt(n)會使它跑得快得多。 – gabhijit
@gabhijit立即返回將使它快得多:) – Alik