#4378. [GESP202509 八级 C++] 第 10 题

[GESP202509 八级 C++] 第 10 题

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

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;
        }
    }
}

{{ select(1) }}

  • O(nlogn)O(n \log n)
  • O(nloglogn)O(n \log \log n)
  • O(n)O(n)
  • O(logn)O(\log n)