A60999. 埃氏筛中将内层循环从 j = i*i 开始而不是 j = 2*i 的主要原因是( )。1 def eratosthenes_sieve_for(n)
单选题
知识点
题目描述
埃氏筛中将内层循环从 j = i*i 开始而不是 j = 2*i 的主要原因是( )。
1 def eratosthenes_sieve_for(n): 2 if n < 2: 3 return [] 4 is_composite = [False] * (n + 1) 5 primes = [] 6 7 for i in range(2, n + 1): 8 if is_composite[i]: 9 continue 10 primes.append(i) 11 12 # 用for循环模拟C++的 j = i*i; j <=n; j +=i 13 for j in range(i * i, n + 1, i): 14 is_composite[j] = True 15 16 return primes
选项(单选)
答案解析
详细答案解析为会员权益,按每日次数查看。
开通 / 升级会员