返回小于n的所有素数
def EulerSieve(n: int):
filter, primers = [False for _ in range(n + 1)], []
for i in range(2, n + 1):
if not filter[i]:
primers.append(i)
for prime in primers:
if i * prime > n:
break
filter[i * prime] = True
if i % prime == 0:
break
return primers
过几天就比赛,还是直接背下来吧,立个Flag,比赛回来写分析。