题解 | #质数因子#

质数因子

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

import sys


for line in sys.stdin:
    line = int(line)
    i = 2
    list1 = []
    #当line是一个很大的质数时,时间复杂度是o(n)会超时,所以先判断是否是质数
    while i <= int(line**0.5)+1:
        if line % i == 0:
            list1.append(str(i))
            line = line//i
        else:
            i += 1
    list1.append(str(line))
    print(' '.join(list1))

原始一点点的解法 文章被收录于专栏

尽量不借助面向对象的思想,自己去实习具体过程

全部评论
当得到一个质因子后,i不用从2开始,而是从当前的i开始,可以减少一些循环。例如当质因子是5时,你下一个质因子必定大于等于5,因为i是从2递增的,当你质因子是5时,代表前面的都已经试过,并且不是质因子。
点赞
送花
回复
分享
发布于 2023-06-29 23:46 四川

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务