此题有个坑,判断是否是质数不用除到n-1,只需要除到根号n即可,如此便不会超时。

python3:
import math

input_num = input()
input_num = int(input_num)

if input_num in [1, 2, 3]:
print(input_num)
else:
res = []
sq = int(math.sqrt(input_num)) + 1
while input_num != 1:
for yinzi in range(2, sq):
yushu = input_num % yinzi
if yushu == 0:
print(yinzi, end=" ")
input_num = int(input_num / yinzi)
break
else:
if yinzi == sq -1:
print(input_num)
input_num = 1