初始化一些状态变量
生成所有大于1的( )个整数作为质数的候选项
对于每个候选整数,测试其是否为质数
3.1。一种简单的方法是测试是否其他任何大于1的整数将余数为0的候选数均分。为此,可以使用 ,例如,表达式a%b在将整数a除以整数b之后返回余数。
3.2。您可能会考虑需要将哪些整数作为除数进行检查–当然,您不必超出要检查的候选数,但是 ?
如果候选对象是素数,请打印一些信息,以便您知道计算中的位置,并更新状态变量
达到适当的结束条件时停止。在制定此条件时, 您的程序没有生成 。
它可能看起来像这样:
def primes(n):
# http://stackoverflow.com/questions/2068372/fastest-way-to-list-all-primes-below-n-in-python/3035188#3035188
""" Returns a list of primes < n """
sieve = [True] * n
for i in xrange(3,int(n**0.5)+1,2):
if sieve[i]:
sieve[i*i::2*i]=[False]*((n-i*i-1)/(2*i)+1)
return [2] + [i for i in xrange(3,n,2) if sieve[i]]