题解 | 质数因子

质数因子

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

n = int(input())
factors = []

while n % 2 == 0:
    factors.append(2)
    n //= 2

d = 3
while d * d <= n:
    while n % d == 0:
        factors.append(d)
        n //= d
    d += 2

if n > 1:
    factors.append(n)

print(" ".join(map(str, factors)))

先把偶数的质数都提取出来,后面递增求因子就不用再额外找偶数因子,然后剩下的因子都会是奇数。

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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