题解 | #质数因子#
质数因子
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) #调用
查看5道真题和解析