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