返回小于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,比赛回来写分析。