这个程序生成素数。它工作得很好,但我想加快它,因为它需要相当长的时间来生成所有素数
#!/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秒,我想缩短这个时间。你知道吗
生成素数本身就很慢。您实现的算法称为试除法,是生成素数最慢的方法之一。还有其他更快的算法,比如埃拉托斯提尼筛。我建议你多研究一些更好的算法。你知道吗
相关问题 更多 >
编程相关推荐