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
是素数
>>>
结果就错误了,有没有大神能给我指正一下,为什么会这样,万分感谢!
不对吧,1111就是素数啊。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632