单选题

下面程序的时间复杂度为(   )。

int primes[MAXP], num = 0;
bool isPrime[MAXN] = {false};
void sieve() {
	for (int n = 2; n <= MAXN; n++) {
		if (!isPrime[n])
			primes[num++] = n;
		for (int i = 0; i < num && n * primes[i] <= MAXN; i++) {
			isPrime[n * primes[i]] = true;
			if (n % primes[i] == 0)
				break;
		}
	}
}
A

O(n)

B

O(n×logn)

C

O(n×loglogn)

D

O(n2)

赣ICP备20007335号-2