A21090. 埃氏筛中将内层循环从 j=i*i 开始而不是 j=2*i 的主要原因是( )。def eratosthenes_sieve_for(n): if n < 2: return [] is_composite = [False] * (n + 1) primes = [] for i in range(2, n + 1): if is_composite[i]: continue primes.ap…
单选题
困难
知识点
题目描述
埃氏筛中将内层循环从 j=i*i 开始而不是 j=2*i 的主要原因是( )。
def eratosthenes_sieve_for(n):
if n < 2:
return []
is_composite = [False] * (n + 1)
primes = []
for i in range(2, n + 1):
if is_composite[i]:
continue
primes.append(i)
# 用for循环模拟C++的 j = i*i; j <=n; j +=i
for j in range(i * i, n + 1, i):
is_composite[j] = True
return primes选项(单选)
答案解析
详细答案解析为会员权益,按每日次数查看。
开通 / 升级会员
上一题
下一题