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

A22010. 下述代码实现素数表的线性筛法,筛选出所有⼩于等于 n的素数,则横线上应填的代码是( )。vector<int> linear_sieve(int n) { vector<bool> is_prime(n + 1, true); vector<int> primes; is_prime[0] = is_prime[1] = 0; //0和1两个数特殊处理 for (int i = 2; i <= …

单选题 困难

题目描述

下述代码实现素数表的线性筛法,筛选出所有⼩于等于 n的素数,则横线上应填的代码是(    )。

vector<int> linear_sieve(int n) {
    vector<bool> is_prime(n + 1, true);
    vector<int> primes;
    is_prime[0] = is_prime[1] = 0; //0和1两个数特殊处理
    for (int i = 2; i <= n; ++i) {
        if (is_prime[i]) {
            primes.push_back(i);
        }
        _________________________// 补充完整此处循环条件
            is_prime[i * primes[j]] = 0;
            if (i % primes[j] == 0) {
                break;
            }
        }
    }
    return primes;
}

选项(单选)

上一题 下一题