题解 | 质数因子
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.要考虑自身是质数的情况