任务描述
分解质因数只针对合数(非质数或者非素数,不包括1在内), 每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,叫做这个合数的分解质因数。
输入一个合数,在一行内输出其所有质因子,各因子间用空格分隔。
平台会对你编写的代码进行测试:
测试输入:
20
预期输出:
2 2 5
测试输入:
2685364852646826
预期输出:
2 3 3 3 7 197 613 58828097
代码:
num=int(input())
#初始化一个空列表
l=[]
#将输入的数备份
k=num
#从2开始循环求因子
for n in range(2,num):
#循环提取出因子,直到不能在提取
while int(k%n)==0:
k=int(k/n)
l.append(n)
if k==1:
#当提取完毕就退出循环
break
for result in l:
print(result,end=" ")
#输出去除中括号和逗号