我的最初解法:
def isPrime(number):
if number==1:
return False
for i in range(2,number):
if number%i==0:
return False
return True
while True:
try:
s=int(input())
t=2
result=[]
while s>1:
if s%t==0 and isPrime(t):
s=s//t
result.append(t)
else:
t=t+1
for r in result:
print(r,end=' ')
except:
break
在讨论区看到一种很精简的写法,利用了break和while循环;讨论区还提出了近一步优化的方法,尝试了一下用python写出来好像效果不太好