import math
prime=True
for num in range(1,1000):
x=math.sqrt(num)
x=int(x)
for i in range(2,x):
if(num%i==0):
prime=False
else:
print(num)
我试图找到素数,但我似乎无法理解为什么这不起作用。我试图使用平方根来找到问题
答案 0 :(得分:3)
您需要在打印前测试所有数字。
for i in range(2,x):
if(num%i==0):
prime=False
break # optimisation - see comments
if prime:
print(num)
另外,为每个数字重置prime为True:
for num in range(1,1000):
prime = True
x=math.sqrt(num)