EXY-SC-1325
第 176 题
以下代码计算两个正整数的最大公约数 (GCD),横线上应填写( )。
int gcd0(int a, int b) {
if (a < b) {
swap(a, b);
}
while(b != 0) {
int temp = a % b;
a = b;
b = temp;
}
return ______;
}
语言:
C++
GESP真题
五级
2025.9
单选题号:
5
EXY-SC-1324
第 177 题
函数
isPerfectNumber 判断一个正整数是否为完全数(该数是否即等于它的真因子之和),则横线上应填写( )。一个正整数 $n$ 的真因子包括所有小于 $n$ 的正因子,如 $28$ 的真因子为 $1, 2, 4, 7, 14$。bool isPerfectNumber(int n) {
if(n <= 1) return false;
int sum = 1;
for(int i = 2; ______; i++) {
if(n % i == 0) {
sum += i;
if(i != n/i) sum += n/i;
}
}
return sum == n;
}
语言:
C++
GESP真题
五级
2025.9
单选题号:
4
EXY-SC-1323
第 178 题
函数
hasCycle 采用 Floyd 快慢指针法判断一个单链表中是否存在环,链表的头节点为 head,即用两个指针在链表上前进:slow 每次走 1 步,fast 每次走 2 步,若存在环,fast 终会追上 slow(相遇);若无环,fast 会先到达 nullptr,则横线上应填写( )。struct Node {
int val;
Node *next;
Node(int x) : val(x), next(nullptr) {}
};
bool hasCycle(Node *head) {
if (!head || !head->next)
return false;
Node* slow = head;
Node* fast = head->next;
while (fast && fast->next) {
if (slow == fast) return true;
___________________ // 在此处填入代码
}
return false;
}
语言:
C++
GESP真题
五级
2025.9
单选题号:
3
EXY-SC-1322
第 179 题
函数
removeElements 删除单链表中所有结点值等于 val 的结点,并返回新的头结点。其中链表头结点为 head,则横线处填写( )。// 结点结构体
struct Node {
int val;
Node* next;
Node() : val(0), next(nullptr) {}
Node(int x) : val(x), next(nullptr) {}
Node(int x, Node* next) : val(x), next(next) {}
};
Node* removeElements(Node* head, int val) {
Node dummy(0, head); // 睡结点,统一处理头结点
Node* cur = &dummy;
while (cur->next != nullptr) {
if (cur->next->val == val) {
________________ // 在此处填入代码
} else {
cur = cur->next;
}
}
return dummy.next;
}
语言:
C++
GESP真题
五级
2025.9
单选题号:
2
EXY-SC-1321
第 180 题
以下哪种情况使用链表比数组更合适?
语言:
C++
GESP真题
五级
2025.9
单选题号:
1
当前页显示 176 - 180
,共 1260 道单选题