测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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

选项(单选)

上一题 下一题