测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A67203. 下列c++程序实现了线性筛法(欧拉筛),用于在O(n) 时间内求出 1~n 之间的所有质数。为了保证每个合数 只被其最小质因子筛掉,横线处应填入的语句是( )。for (int i = 2; i <= n; i++) {

单选题

题目描述

下列c++程序实现了线性筛法(欧拉筛),用于在O(n) 时间内求出 1~n 之间的所有质数。为了保证每个合数 只被其最小质因子筛掉,横线处应填入的语句是( )。

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; // 在此处填入选项
    }
}

选项(单选)