我是python的絕對新手,但我試圖計算一些應該像Eratosthenes的篩子那樣的東西。嘗試計算Eratosthenes的篩子
我要開始容易,只需創建一組與2的所有整數高達100讓我們調用集合S
然後我想創建一個所有整數N個這樣的2n是包含在該集合中,我們稱之爲P1。換句話說,一組整數2,4,6,8等
我想然後做同樣的事情,但P2 = 3n,然後P3 = 5n。
最後我想返回我的集合S的所有整數,但忽略P1,P2和P3中的整數。
我該如何繼續這樣做?
我嘗試:
numbers=set(range(2,100))
,但我卡上創建其他組和無視他們!
謝謝。
我的想法至今:
def sieve(n):
S = set(range(2, 100))
P1 = set(range(0, 100, 2))
P2 = set(range(0, 100, 3))
P3 = set(range(0, 100, 5))
P5 = set(range(0, 100, 7))
return S-P1-P2-P3-P5
print (sieve(100))
嘗試'範圍(2,100,2)','範圍(3,100, 3)'等等。第三個參數是這個步驟。 –
我該如何丟棄集合? – user3200098
抽象集。 'S - P1'等。 – Hyperboreus