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

A67627. 下述代码实现素数表的线性筛法,筛选出所有小于等于n的素数,横线上应填的最佳代码是( )。1 vector<int> sieve_linear(int n) {

单选题

题目描述

下述代码实现素数表的线性筛法,筛选出所有小于等于n的素数,横线上应填的最佳代码是( )

1 vector<int> sieve_linear(int n) {
2  vector<bool> is_prime(n +1, true); 
3  vector<int> primes; 
4
5  if (n < 2) return primes; 
6
7  is_prime[0] = is_prime[1] = false; 
8  for (int i = 2; i <= n/2; i++) { 
9   if (is_prime[i]) 
10    primes.push_back(i); 
11
12   for (int j = 0; ________________________________ ; j++) { // 在此处填入代码 
13    is_prime[ i * primes[j] ] = false; 
14    if (i % primes[j] == 0) 
15     break; 
16   } 
17  } 
18
19  for (int i = n/2 +1; i <= n; i++) { 
20   if (is_prime[i]) 
21    primes.push_back(i); 
22  } 
23
24  return primes; 
25 }

选项(单选)