for x in range(100,1001):
if x<2:
continue
for i in range(2,int(x/2)+1):
if x%i==0:
break
else:
print(x)
我想输出100,到1000内的素数,而且不想用列表,为什么我这样不行啊
for x in range(100,1001):
if x<2:
continue
for i in range(2,int(x/2)+1):
if x%i==0:
break
else:
print(x)
我想输出100,到1000内的素数,而且不想用列表,为什么我这样不行啊
加个标志即可,然后第二个for循环的范围也可以改为for i in range(2,int(math.sqrt(x))+1),修改如下:
for x in range(100,1001):
if x<2:
continue
prime=1
for i in range(2,int(x/2)+1):
if x%i==0:
prime=0
break
if prime==1:
print(x,end=" ")