函数 linearSieve 实现线性筛法(欧拉筛),横线处应填 ( )。 入
vector<int> linearSieve(int n) {
vector<bool> is_prime(n+1, true);
vector<int> primes;
for(int i = 2; i <= n; i++) {
if(is_prime[i]) primes.push_back(i);
for(int p : primes) {
if(p * i > n) break;
is_prime[p * i] = false;
if(________) break;
}
}
return primes;
}
- A. i % p == 0
- B. p % i == 0
- C. i == p
- D. i * p == n
正确答案:A