一挂题目要求:
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
二提菜鸡背景:
发现自己的Py底子懵的一批,想找找之前的一些基础题来顺顺手,结果就忘了这个大坑了...我检讨我有罪
三po没营养的代码:
from math import sqrt
def Prime(x):
list = []
while x > 1:
for i in range(2,x+1):
# 我想大概有的人也会像我一样
# (好吧主要是提醒自己别蠢)
# 以int(sqrt(x)+1)+1未上界的话,最后分解出的质数会陷入死循环无法存进list中
# 再加判断质数的话开销会比现在大,所以这样还是比较合理的
if x % i == 0:
x = int(x/i)
list.append(i)
break
return list
x = int(input())
for i in Prime(x):
print(i,end=" ")
坑被我打在注释里啦hhhh
你是我身外,化白云任去来