num = int(input()) i=2 num2=[] while i<=num : if num%i !=0: i=i+1 if i >1000000: #把上午的错误代码调试了一下,发现就是这里没有判断i>1000000 #等于是输入数字非常大的时候,i已经累计超过1000000,那么就是最大的质数了,直接输出该数字即可,无需再判断, #否则程序容易进入死循环,就会超过4S,就不会通过了。 num2.append(num) break elif num%i==0: num =int(num/i) num2.append(i) elif num==1: break for j in num2: print(str(j),end=" ")
点赞

相关推荐

牛客网
牛客企业服务