埃拉托斯特尼筛法筛选不大于n的所有素数时,最外层循环应遍历什么范围?

jn624571 单选题 共 个子题

补全下列C++代码中缺失的最外层循环:

vector<int> sieveOfEratosthenes(int n) {
  std::vector<bool> isPrime(n + 1, true);
  std::vector<int> primes;
  // 补全最外层循环
  {
    if (isPrime[i]) {
      primes.push_back(i);
      for (int j = i * i; j <= n; j += i) {
        isPrime[j] = false;
      }
    }
  }
  for (int i = sqrt(n) + 1; i <= n; ++i) {
    if (isPrime[i]) {
      primes.push_back(i);
    }
  }
  return primes;
}
A
for (int i = 2; i <= n; ++i)
B
for (int i = 1; i < n; ++i)
C
for (int i = 2; i <= sqrt(n); ++i)
D
for (int i = 1; i <= sqrt(n); ++i)
正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧