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=" ")
点赞

相关推荐

2025-12-13 14:51
已编辑
井冈山大学 算法工程师
龙虾x:算法比你强的没有你美,比你美的…..算了已经没有比你美的了
工作两年想退休了
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务