单选题

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

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)

赣ICP备20007335号-2