在埃拉托斯特尼筛法中,要筛选出不大于 n 的所有素数,最外层循环应该遍历什么范围( )? vector sieveOfEratosthenes(int n) { std::vector isPrime(n + 1, true); std::vector 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)
正确答案:C
试卷来源:202403 CCF-GESP编程能力等级认证C++五级真题