这里的时候奇怪的结果是,我在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