鱼C论坛

 找回密码
 立即注册
查看: 2022|回复: 4

[已解决]关于求是否为质数问题

[复制链接]
发表于 2020-12-2 16:56:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
想求一个数是否为质数,程序如下:

def prime(n):
    if n <= 1:
        print( '%d 是质数' %n)
    else:
        for i in range(2,n):
            if n % i == 0:
                print('%d 不是质数' %n)
                break
            else:
                print('%d 是质数' %n)
                break
               
prime(2)
prime(75)
prime(25)
prime(7)


但是输出为:

75 是质数
25 是质数
7 是质数

prime(2)未显示
prime(75)
prime(25)  显示错误

发现只要是5的倍数就判断错误,请问各位大佬这是什么原因啊?
最佳答案
2020-12-2 17:05:35
def prime(n):
    if n <= 1:
        print( '%d 是质数' %n)
    else:
        for i in range(2,n):
            if n % i == 0:
                print('%d 不是质数' %n)
                break
        else:                         #这两行缩进改一下
            print('%d 是质数' %n)

               
prime(2)
prime(75)
prime(25)
prime(7)

需要等到i遍历完2到n后      如果取余都不成立
再打印是素数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-2 17:05:35 | 显示全部楼层    本楼为最佳答案   
def prime(n):
    if n <= 1:
        print( '%d 是质数' %n)
    else:
        for i in range(2,n):
            if n % i == 0:
                print('%d 不是质数' %n)
                break
        else:                         #这两行缩进改一下
            print('%d 是质数' %n)

               
prime(2)
prime(75)
prime(25)
prime(7)

需要等到i遍历完2到n后      如果取余都不成立
再打印是素数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-2 17:07:43 | 显示全部楼层
range(2,2)啥也没有
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-3 08:10:23 | 显示全部楼层
昨非 发表于 2020-12-2 17:05
需要等到i遍历完2到n后      如果取余都不成立
再打印是素数

好的 谢谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-3 08:11:04 | 显示全部楼层

谢谢 ,忘记这个了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 06:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表