下列线性筛(欧拉筛)中,为保证每个合数只被最小质因子筛掉,横线处应填入:
for (int i = 2; i <= n; i++) {
if (!not_prime[i]) primes[++cnt] = i;
for (int j = 1; j <= cnt && i * primes[j] <= n; j++) {
not_prime[i * primes[j]] = true;
if (________) break; // 在此处填入选项
}
}
- A. i + primes[j] == n
- B. primes[j] > i
- C. i % primes[j] == 0
- D. i % primes[j] != 0
正确答案:C