您当前的位置: 首页 >  Python

梁同学与Android

暂无认证

  • 5浏览

    0关注

    603博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Python 判断一个数是不是质数

梁同学与Android 发布时间:2021-12-24 19:50:18 ,浏览量:5

一般我们会这样写

# 判断是不是质数
def isZhi(a):
    for i in range(2, a):
        if a % i == 0:
            return False;
        else:
            continue;
    return True

算法优化

# 判断是不是质数
def isZhi(a):
    for i in range(2, int(math.sqrt(a))+1):
        if a % i == 0:
            return False;
        else:
            continue;
    return True

为什么判断到 int(math.sqrt(a))+1 就可以停止了呢?我们来举个栗子

比如 4 这个数字,根号4 = 2,也就是2 * 2 = 4 那就证明除了 1 和 4 本身还有 2 这个数能够被 4 整除

再举个栗子,6这个数字,根号6 = 2.449… 转化为 Int 就是 2, 再加 1 就是 3,但是 range 取不到 3 ,也就是取到 2 ,那我们就判断 1,2,到 2 的时候他就不是质数了

再举个例子 9这个数,根号 9 是不是等于 3 ,那我们就判断 1,2,3这3个数,判断到3就停止了(不是质数),后面的数就不用判断了

关注
打赏
1656853971
查看更多评论
立即登录/注册

微信扫码登录

0.2471s