题解 | 质数因子
质数因子
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)))
先把偶数的质数都提取出来,后面递增求因子就不用再额外找偶数因子,然后剩下的因子都会是奇数。

查看5道真题和解析
OPPO公司福利 1225人发布