第26768题 单选
Python线性筛素数(≤n)补代码单选题

下述代码实现素数表的线性筛法,筛选出所有小于等于n的素数,横线上应填的最佳代码是( )。

def sieve_linear(n):
    is_prime = [True] * (n + 1)
    primes = []

    if n < 2:
        return primes

    is_prime[0] = is_prime[1] = False

    for i in range(2, n // 2 + 1):
        if is_prime[i]:
            primes.append(i)

    j = 0
    _____________________________________
        is_prime[i * primes[j]] = False
        if i % primes[j] == 0:
            break
        j += 1

    for i in range(n // 2 + 1, n + 1):
        if is_prime[i]:
            primes.append(i)

    return primes
A

while j < len(primes) and j * primes[j] <= n:

B

while j < len(primes) and i * primes[j] <= n:

C

while j < len(primes) and j * primes[i] <= n:

D

while i < len(primes) and i * primes[j] < n:

提交0次 正确率0.00%
答案解析