python 使用的是IDLE
#快速判断一个数是不是素数
n = int(input('请输入一个数'))
if n in (2,3):
print('是素数')
#除2之外的所有偶数都不是素数
elif n%2 == 0:
print('不是素数')
else:
#大于5的素数对6的余数必然是1或者5,但是对6的余数是1或者5不一定是素数
if n % 6 in (2,3,4):
print('不是素数')
m = n%6
if m !=1 and m!=5:
print('不是素数')
#如果一个大于2 的整数n不能被2或3到n的平方根之间的奇数整除,那它是素数
else:
for i in range(3,int(n**0.5)+1,2):
if n%i ==0:
print('不是素数')
break
else:
print('是素数')
======================= RESTART: F:/IDLE/快速判断一个数是不是素数.py =======================
请输入一个数1111
不是素数
代码这样写输出的结果就是正确的,但是将
#如果一个大于2 的整数n不能被2或3到n的平方根之间的奇数整除,那它是素数
else:
for i in range(3,int(n**0.5)+1,2):
if n%i ==0:
print('不是素数')
break
else:
print('是素数')
换为
#如果一个大于2 的整数n不能被2或3到n的平方根之间的奇数整除,那它是素数
else:
for i in range(3,int(n**0.5)+1,2):
if n%i !=0:
print('是素数')
break
======================= RESTART: F:/IDLE/快速判断一个数是不是素数.py =======================
请输入一个数1111
是素数
>>>
结果就错误了,有没有大神能给我指正一下,为什么会这样,万分感谢!