题解 | #质数因子#

质数因子

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

import sys
n = input()
n = int(n)
factors = []
# 处理 2 的因子
while n % 2 == 0:
    factors.append(2)
    n //= 2
# 处理 3 及以上的因子 这里迭代到n的平方根即可,这是为了降低复杂度
for i in range(3, int(n ** 0.5) + 1, 2):
    while n % i == 0:
        factors.append(i)
        n //= i
# 如果 n > 2,则它必定是一个质数,直接输出
if n > 2:
    factors.append(n)

for k in factors:
    print(k ,end=' ')



全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务