题解 | 质数因子

质数因子

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

import math

# 获取质因子
def prime_factors(n):
    factors = []

    # 处理 2 的因子
    while n % 2 == 0:
        factors.append(2)
        n //= 2

    # 处理奇数因子,从 3 开始,每次加 2
    for i in range(3, int(math.sqrt(n)) + 1, 2):
        while n % i == 0:
            factors.append(i)
            n //= i

    # 如果 n 是质数且大于 2
    if n > 2:
        factors.append(n)

    return factors


# 输入整数 n
n = int(input())

# 获取并输出质因子
factors = prime_factors(n)
print(*factors)

全部评论

相关推荐

卡卡罗特ovo:说起云智我就来气,约好了一面,结果面试官没来,ssob上问hr也未读,我还是专门请了半天假在家面试,恶心死了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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