题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
def calcurate(digit, record):
for i in range(2, int(digit ** 0.5) + 1):
if digit % i == 0:
record.append(i)
calcurate(digit // i, record)
break
return record
digit = int(input())
record = calcurate(digit, [])
for i in record:
digit = digit // i
record.append(digit)
print(' '.join(list(map(str, record))))
使用递归的算法求解质数因子,每次递归会找到最小的质数因子,最后再添加剩余的质数因子。这里需要注意的是,每次的循环只需要从2开始直到 int(digit**0.5)+ 1
