该程序生成质数。虽然效果很好,但我想加快速度,因为生成所有素数都需要花费相当长的时间
#!/usr/bin/python
#intgr = int(raw_input ("Please enter your number: "))
intgr = 50000
for i in range (2, intgr+1):
j = 2
while j<i:
if (i%j) == 0:
break
j += 1
if j == i:
#print "prime", i
pass #print "prime", i
print "done"
现在大约需要15秒钟才能运行,我想减少时间。
答案 0 :(得分:-2)
生成质数本质上很慢。您实现的算法称为“试算”,它是生成质数的最慢方法之一。还有其他更快的算法,例如Eratosthenes筛。我建议您对更好的算法做更多的研究。