EXY-SC-1566
第 181 题
下面代码实现线性筛法。为了保证每个合数只被其最小质因子筛去一次,横线处应填写( )。
vector<int> linearSieve(int n) {
vector<bool> composite(n + 1, false);
vector<int> primes;
for (int i = 2; i <= n; i++) {
if (!composite[i])
primes.push_back(i);
for (int p : primes) {
if ((long long)i * p > n)
break;
composite[i * p] = true;
if (__________________)
break;
}
}
return primes;
}
语言:
C++
GESP真题
五级
2026.9
单选题号:
6
EXY-SC-1565
第 182 题
下面函数用于判断正整数 n 是否为质数。横线处的最佳写法是( )。
bool isPrime(int n) {
if (n < 2)
return false;
for (int i = 2; __________________; i++) {
if (n % i == 0)
return false;
}
return true;
}
语言:
C++
GESP真题
五级
2026.9
单选题号:
5
EXY-SC-1564
第 183 题
函数 gcd(int a, int b) 定义如下,则 gcd(105, 45) 的结果是( )。
int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
语言:
C++
GESP真题
五级
2026.9
单选题号:
4
EXY-SC-1563
第 184 题
下面函数使用快慢指针查找单链表的中间结点。横线处应填写( )。
struct Node {
int value;
Node *next;
};
Node *middle(Node *head) {
Node *slow = head;
Node *fast = head;
while (fast != nullptr && fast->next != nullptr) {
slow = slow->next;
______________________
}
return slow;
}
语言:
C++
GESP真题
五级
2026.9
单选题号:
3
EXY-SC-1562
第 185 题
在不带哨兵结点的双向链表中,结点 p 既不是头结点也不是尾结点。删除 p 的正确代码是( )。
struct Node {
int value;
Node *prev;
Node *next;
};
语言:
C++
GESP真题
五级
2026.9
单选题号:
2
当前页显示 181 - 185
,共 1506 道单选题