A28600. 下述代码实现素数表的线性筛法,筛选出所有小于等于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 …
单选题
困难
知识点
题目描述
下述代码实现素数表的线性筛法,筛选出所有小于等于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选项(单选)
答案解析
详细答案解析为会员权益,按每日次数查看。
开通 / 升级会员
上一题
下一题