#4329. [GESP202503 八级 C++] 第 11 题

[GESP202503 八级 C++] 第 11 题

下面的欧氏筛法程序中,两个横线处应填入的分别是( )。

int primes[MAXP], num = 0;
bool isPrime[MAXN + 1] = {false};
void sieve() {
    for (int n = 2; n <= MAXN; n++) {
        if (!isPrime[n])
            primes[num++] = n;
        for (int i = 0; i < num && ________; i++) { // 在此处填入选项
            isPrime[n * primes[i]] = true;
            if (________) // 在此处填入选项
                break;
        }
    }
}

A.

n * primes[i] < MAXN
n % primes[i] == 0

B.

n * primes[i] < MAXN
primes[i] > n

C.

n * primes[i] <= MAXN
n % primes[i] == 0

D.

n * primes[i] <= MAXN
primes[i] > n

{{ select(1) }}

  • A
  • B
  • C
  • D