#41469: python的神奇解法


ygong076@gmail.com (呆子)

學校 : 新竹市立建功高級中學
編號 : 188351
來源 : [101.12.24.47]
最後登入時間 :
2024-10-13 12:05:49
a121. 質數又來囉 | From: [101.10.4.59] | 發表日期 : 2024-07-29 22:56

while True:
    try:
        a, b = map(int, input().split())
        nums = [i for i in range(a, b+1)]
        nums = list(filter(lambda x: (x > 1) and (x % 2 or x == 2) and (x % 3 or x == 3), nums))
        for i in range(5, int(b ** 0.5) + 1, 6):
            nums = list(filter(lambda x: (x % i or x == i) and (x % (i + 2) or x == (i + 2)), nums))
        print(len(nums))
    except:
        break

我使用的是filter的寫法

但前提是把大家都塞在一起

不然絕對會超過時間

 
ZeroJudge Forum