GESP C++ 真题 · 逐题精解
首页C++五级真题 › 2025年6月 › 第10题

GESP 2025年6月 C++五级 判断题 第10题

C++五级判断题2025年6月第10题

所属知识点:综合应用(跨题型) 难度要求:掌握 考频:—

如下为线性筛法,用于高效生成素数表,其核心思想是每个合数只被它的最小质因数筛掉一次,时间复杂度为 O(n)。
vector<int> linearSieve(int n) {
vector<bool> is_prime(n + 1, true);
vector<int> primes;
for (int i = 2; i <= n; ++i) {
if (is_prime[i]) {
primes.push_back(i);
}
for (int j = 0; j < primes.size() && i * primes[j] <= n; ++j) {
is_prime[i * primes[j]] = false;
if (i % primes[j] == 0) {
break;
}
}
}
return primes;
}

正确答案:正确(√)

题目解析
对。线性筛中每个合数只被它的最小质因数筛掉一次,时间复杂度 O(n)。

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习