通过while循环可以进一步降低算法复杂度,这种算法在遇到质数因子比较多的大数时,可以较快的运行处结果
num=int(input())
k=2
while True:
if k<(int(math.sqrt(num))+1) and num%k==0:
num/=k
print(k,end=' ')
elif k<(int(math.sqrt(num))+1) and num%k!=0:
k+=1
elif k>=int(math.sqrt(num))+1:
print(int(num))
break