加速素数生成?

时间:2019-04-04 20:28:06

标签: python

该程序生成质数。虽然效果很好,但我想加快速度,因为生成所有素数都需要花费相当长的时间

#!/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秒钟才能运行,我想减少时间。

1 个答案:

答案 0 :(得分:-2)

生成质数本质上很慢。您实现的算法称为“试算”,它是生成质数的最慢方法之一。还有其他更快的算法,例如Eratosthenes筛。我建议您对更好的算法做更多的研究。