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


youngyoung (06 蘇昱揚 306)


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)


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