#21314: 為什麼會超時?


uyangkao@gmail.com (Xiayu夏語)

學校 : 國立嘉義高級中學
編號 : 115134
來源 : [140.112.240.145]
最後登入時間 :
2020-08-31 21:32:58
a010. 因數分解 | From: [36.239.64.97] | 發表日期 : 2020-05-15 15:28

我自己在測試時,計算速度感覺都蠻快的,怎麼每次送出解答都會超時,能幫我看看嗎?

 

程式碼如下,目前我想的到的最佳解了

while True :
    try :
        num=input()
    except EOFError :
        break
    num=int(num)
    list1=[]
    list2=[]
    for i in range(2,num+1):
        if num% i==0 :
            list1.append(i)
        tmp=0
        while num % i==0 :
            num/=i
            tmp=tmp+1
        list2.append(tmp)             
    for d in range(len(list1)) :
        s=list2[d]
        if s>1 :
            print('%d^%d' %(list1[d],s),end='')
        else :
            print(list1[d],end='')
        if d+1!=len(list1) :
            print(' * ',end='')
 
ZeroJudge Forum