iAns=0 for k in range(iStart,iEnd+1): if k==1: iAns=0 elif k==2: iAns+=1 continue else: if k%2==0: continue else: iPrime=0 iEnd=int(math.sqrt(k))+1 for i in range(2,iEnd+1): if k % i == 0: iPrime=0 break else: iPrime=1 if iPrime==1: iAns+=1
以上是我的想法,當然是TLE,請問大家問題是否出在雙層迴圈,
我有爬討論看到建立質數表,是否就能加快速度,希望高手們撥冗解惑,感謝
iAns=0 for k in range(iStart,iEnd+1): if k==1: iAns=0 elif k==2: iAns+=1 continue else: if k%2==0: continue else: iPrime=0 iEnd=int(math.sqrt(k))+1 for i in range(2,iEnd+1): if k % i == 0: iPrime=0 break else: iPrime=1 if iPrime==1: iAns+=1
以上是我的想法,當然是TLE,請問大家問題是否出在雙層迴圈,
我有爬討論看到建立質數表,是否就能加快速度,希望高手們撥冗解惑,感謝
https://pastebin.com/AtaNXiyU
這是我的想法,但是WA(line 1),看看能不能互相幫忙?
iAns=0 for k in range(iStart,iEnd+1): if k==1: iAns=0 elif k==2: iAns+=1 continue else: if k%2==0: continue else: iPrime=0 iEnd=int(math.sqrt(k))+1 for i in range(2,iEnd+1): if k % i == 0: iPrime=0 break else: iPrime=1 if iPrime==1: iAns+=1
以上是我的想法,當然是TLE,請問大家問題是否出在雙層迴圈,
我有爬討論看到建立質數表,是否就能加快速度,希望高手們撥冗解惑,感謝
https://pastebin.com/AtaNXiyU
這是我的想法,但是WA(line 1),看看能不能互相幫忙?
我有試過建質數表跟直接判斷兩種方式,不過都PLE
Python寫這種題目感覺比較吃虧XD