#36061: Python解法參考


rsj00008 (二信008)

學校 : 基隆市私立二信高級中學
編號 : 49436
來源 : [36.227.117.86]
最後登入時間 :
2024-11-18 21:55:45
a121. 質數又來囉 | From: [220.137.29.232] | 發表日期 : 2023-07-02 22:53

一開始用篩法建質數表 p[] + 函式 isp(x) 仍然 TLE
def isp(x):
  if x<10001: return 1-c[x]
  q=int(x**0.5+0.00001)
  for i in p:
    if i>q: return 1
    if x%i==0: return 0
  return 1
---------------
主程式 for x in range(a,b+1) :ans += isp(x)

======== 後來將主程式 的 [a,b] 改為只6挑2後 AC 5.3 s

除了 2,3,5 之 外, x = i*6+1, i*6+5才有可能是質數{i>=1的整數},所以[a,b]每6個只呼叫 isp(x) 2次即可

 
ZeroJudge Forum