题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
m = int(input()) def f(m): prime_num =1 #假设质数标识1 #对数字挨着做除法,范围到数字开根号后+1(一个数的质因子不会大于它的算术平方根+1的) for i in range(2,int(m**0.5+1)): if m%i == 0: #能被整除,余数是0 prime_num =0 #那就不是质数了 print(i,end=' ') m = m//i f(m) # 对它整除后的商,递归 break #结束当前循环 #最后m不能被整整除了,就是循环下的if执行不了了,直接打出最终的m if prime_num ==1: print(m,end=' ') f(m) #调用