题解 | #质数因子#

质数因子

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)
全部评论
(我没做出来,看了这个算法后的心得) 1、求质素,做除数; 2、循环除质数,求商; 3、质数从小到大,所以也不用再进行排序。
点赞 回复 分享
发布于 2022-05-08 20:56
170 2 5 17
点赞 回复 分享
发布于 02-26 10:54 广东

相关推荐

09-27 10:54
重庆大学 C++
人已微死:致敬传奇耐测王。
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
14 收藏 评论
分享
牛客网
牛客企业服务