參考了演算法筆記,和您的a010質數判定解法。
此題如果先建立10000以內的質數表,
再從a與b的範圍內直接刪除2的倍數與3的倍數,是不是就會少掉大半時間。
我還是吃了好多次TLE
google 一下
原來測資還是有b-a超過1000的,
這就是瘋狂TLE的原因。
寫pytohn的人,要記得遇到b-a>1000時,直接輸出0就會過
還有考慮0,1,2,3這些數字的情況,就可以AC了
>>> 寫pytohn的人,要記得遇到b-a>1000時,直接輸出0就會過
這個講法,您覺得合理嗎。
>>> 寫pytohn的人,要記得遇到b-a>1000時,直接輸出0就會過
這個講法,您覺得合理嗎。
的確不合理,
但這是此題用python避免TLE的一種方法
>>> 寫pytohn的人,要記得遇到b-a>1000時,直接輸出0就會過
這個講法,您覺得合理嗎。
>>> 寫pytohn的人,要記得遇到b-a>1000時,直接輸出0就會過
這個講法,您覺得合理嗎。
import mathdef prime(n):for i in range(1,int(math.sqrt(n))+1):if n%i==0 and i!=1:return Falsebreakreturn Truea=input()while a:try:c=[]b=a.split(' ')for i in range(int(b[0]),int(b[1])+1):if prime(i):c.append(i)if int(b[1])-int(b[0])>1000:print('0')else:print(len(c))a=input()except:break請問錯在哪裡????