题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import math
while True:
try:
target = int(input())
factors = []
factor = 2
while factor < math.sqrt(target) +1:
while target % factor == 0:
target /= factor
factors.append(factor)
factor += 1
if target >= 2: factors.append(int(target))
print( *factors, sep=' ', )
except:
break
在输出的时候,*可以让序列外面没有两个括号。
质数因子:从 sqrt 开始,遍历每个数字,如果中间碰见质数因子,说明排除了一个区间,可以直接除去。
