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

ng557647 单选题 共 个子题

下述代码实现素数表的线性筛法,筛选出所有小于等于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:

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧