题解 | #质数因子#

质数因子

http://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607

首先要知道质因数要>=2且小于自身的平方根,故只要遍历到平方根,并使用遍历到的数去除初始值,并且每求出一个公因数就打印并将初始值除以公因数后再继续迭代

此外存在质数的情况,即只有自身是质因数,故这种情况需要考虑从2开始的质数,故最终剩余的num值>=2需要打印

import math
num = int(input())
for x in range(2, int(math.sqrt(num))+1):
    while num % x == 0:
        print(x, end=' ')
        num = num // x
if num >= 2:
    print(num)
全部评论
170 2 5 17
点赞 回复 分享
发布于 2024-02-26 10:54 广东
(我没做出来,看了这个算法后的心得) 1、求质素,做除数; 2、循环除质数,求商; 3、质数从小到大,所以也不用再进行排序。
点赞 回复 分享
发布于 2022-05-08 20:56

相关推荐

我的offer呢😡:这不才9月吗,26到明年毕业前能一直找啊,能拿下提前批,转正的,offer打牌的都是有两把刷子的,为什么非要跟他们比。如果别人是9本硕+金牌+好几段大厂实习呢?如果别人是双非通天代呢?如果别人是速通哥呢?,做好自己就行了,我们做不到他们一样提前杀死比赛,但晚点到终点也没啥关系吧
双非应该如何逆袭?
点赞 评论 收藏
分享
评论
15
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务