题解 | 质数因子
import sys
import math
num = int(sys.stdin.readline())
number = num
ans = []
while num % 2 == 0:
num = num / 2
ans.append(2)
i = 3
while i <= math.sqrt(num):
while num % i == 0:
num = num / i
ans.append(i)
i = i + 2
if num > 2:
ans.append(int(num))
print(*ans)
要点:
1.搜索到平方根为止
2.要考虑自身是质数的情况
查看11道真题和解析