這裏的時候奇怪的結果是,我在Python寫了一個程序:該程序需要運行
import sys
from time import time
start = time()
x = input('How many primes? ')
if x < 1:
sys.exit("invalid input")
y = 3
primes = [2]
while len(primes) < x:
for i in primes:
if y % i == 0:
break
elif i > (y**(.5)):
primes.append(y)
break
y += 1
print primes
print time() - start
它運作良好,但我已經發現了一些奇怪的。如果我要求1000個素數,程序大約需要2.3秒才能找到答案,但如果我要求10000個素數,程序大約需要1.8秒才能找到答案。這沒有多大意義,因爲程序必須做更多的計算才能找到比10000更多的10000個素數。任何人都可以解釋導致這種情況的原因嗎?
看來,你輸入5位數比4快:) – 2012-03-02 23:53:49