题解 | #质数因子#
质数因子
http://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
有大数例子超时,可能开方的思路更好
while True:
try:
a = int(input())
res = []
for i in range(2, a//2+1): #判断到一半即可
while a % i == 0 :#这里如果用判断if,不会重复除以2,会避开2,2.。。的结果,所以用while循环,
#只要还能被i整除,内循环不会结束
res.append(i)
a = a // i
if res:
b = " ".join(map(str, res))+ ' ' #res中的数据为int类型,join需要string作为给定参数,
#因此不能' '.join(res),需要map 将string应用于res列表中的所有参数。
else:
b = str(a) + ' '
print(b)
except:
break