题目描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )

最后一个数后面也要有空格

输入描述:
输入一个long型整数

输出描述:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。

示例1
输入
复制
180
输出
复制
2 2 3 3 5
num = int(input())
i=2
num2=[]
while i<=num :
while num%i==0:
num =int(num/i)
#这里的整数相除,不知道为什么会成1.0这样浮点数,
#调试过程中发现,才增加了int转换
num2.append(i)
i=i+1
###############################
#如果没有这段代码就会提示
#运行超时:您的程序未能在规定时间内运行结束,请检查是否循环有错或算法复杂度过大。
if i >1000000:
num2.append(num)
break
###############################
for j in num2:
print(int(j),end=" ")
#这道题输出要求带空格,并且最后一个数字后面必须带空格
#如果不带空格输出,就会报错
#格式错误:您的程序输出的格式不符合要求(比如空格和换行与要求不一致)
#一直以为是其他哪里格式的问题,最后才发现是没有按照要求,这道题不符合目标报的错误
#真尼玛蛋疼,我一直以为是我其他地方调试的错误
#另外那个大于100000000的数字,我估计测试用例里面就是用大数字让运算出现异常,导致超时不让过
#查了好多人的答案,发现算法都没问题,但是上面这个不判断就报一样的错误
#搞了差不多一整天,终于搞定了。