我是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