嘿所有! 因此,我几乎完成了一个问题,我开始为涉及Eratosthenes的Sieve的学校工作。我设法让程序打印出2到1000的平方根的所有素数。但是,我的老师要求我使用C.F的素数假设(?)。高斯。这就是他所说的: C.F.Gauss假设(N)当N接近无穷大时,小于或等于N的素数被定义为(N)= N/loge(N)。这被称为质数 假设。在for循环中打印素数,计数器指示其序 号(1,2,3等)和的值(N)。帮助添加C.F.的素数假设高斯到我的Eratosthenes的筛子
我试着做另一个循环,并打印质数,但它只是不适合我! :(啊。 任何帮助将不胜感激!:)
import math
def sieves(N):
x = 1000*[0]
prime = 2
print('2')
i = 3
while (i <= N):
if i not in x:
print(i)
prime += 1
j = i
while (j <= (N/i)):
x.append(i * j)
j += 1
i += 2
print("\n")
def main():
count = 0
for i in range (1000):
count = count + 1
print(sieves(math.sqrt(1000)))
main()
没有必要为每一行:) – Acorn 2011-05-01 21:39:41
搞不清之间的空间,但可能这个假设意味着你可以简单地退出循环,在某一点(即破裂或简单地返回)?此外,是否您打印的数字里面的功能,或打印结果作为打印你应该清楚(筛... 我也没有看到日志? – Nicolas78 2011-05-01 21:44:59
@ nicolas78没有它应该只是预测的数量总能达到任何N,我很确定。 – user733683 2011-05-01 21:48:33