各位,有个问题 判断是否是素数的时候 (不分n = 1;n = 2;和n>2情况下,只分n <= 1和其他)为什么会写出for i in range(2,n):为啥是从2开始,这样的话2不就判断不是素数啦吗?但是我运行显示2是素数 求指正
def su(n):#判断素数
if n <= 1:
return False
for i in range(2,n):#这里就是我不理解的点
if n % i == 0:
return False
return True
num = 0
for i in range(100000):
if su(i):
num +=1;
if num == 2019:
print(i)
break
从2开始是因为2是最小的素数,写2的时候一定要写,这里的范围写到n-1是因为2到n-1中只要有一个能整除n,就说明n不是素数,当for循环从2到n-1都不能整除n的时候,那么n就是素数。