#20560: 建表示像這樣嗎???(python)但為什麼還是TLE?


youngyoung (06 蘇昱揚 306)

學校 : 臺北市私立延平高級中學
編號 : 98924
來源 : [180.217.13.133]
最後登入時間 :
2022-05-03 14:31:59
a121. 質數又來囉 | From: [1.200.216.58] | 發表日期 : 2020-02-07 15:26

try:
    a = []
    b = 2
    for b in range(2, 10000):
        i = 2
        isPrime = True
        while i <= b ** 0.5:
            if b % i == 0:
                isPrime = False
                break
            i += 1
        if isPrime == True:
            a.append(b)
    while True:
        count = 0
        c = input()
        items = c.split()
        lst = [eval(x) for x in items]
        lst.sort()
        for b in range(lst[0], lst[1] + 1):
            Prime = True
            judge = [y for y in a if y <= b ** 0.5]
            k = 0
            while k < len(judge):
                if b % judge[k] == 0:
                    Prime = False
                    break
                k += 1
            if Prime:
                count += 1
        print(count)
except:
    pass
 
#20561: Re:建表示像這樣嗎???(python)但為什麼還是TLE?


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [1.168.27.116]
最後登入時間 :
2024-03-31 17:58:15
a121. 質數又來囉 | From: [61.223.32.246] | 發表日期 : 2020-02-07 15:41

你的建表方式有改善的空間,可以略過偶數節省一點時間。

 
ZeroJudge Forum