题目编号
语言
全部语言
等级
全部等级
知识点
选择知识点 (0)
找到 1260 道单选题
EXY-SC-1445
第 56 题
下面代码实现线性筛(欧拉筛),以筛选出 $n$ 以内的所有素数。横线处的代码应为( )。
vector<int> sieve(int n) {
    vector<bool> is_prime(n + 1, true);
    vector<int> primes;
    if (n >= 0) is_prime[0] = false;
    if (n >= 1) is_prime[1] = false;
    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 (________________) break; // 在此处填入代码
        }
    }
    return primes;
}
A
i % primes[j] == 0
B
primes[j] % i == 0
C
i % primes[j] != 0
D
i == primes[j]
语言: C++
GESP真题 五级
2026.6
单选题号: 5
EXY-SC-1444
第 57 题

使用如下欧几里得算法求 gcd(105, 45) 时,函数 gcd(a, b) 的递归调用序列正确的是( )。

int gcd(int a, int b) {
    return b == 0 ? a : gcd(b, a % b);
}
A

gcd(105, 45) -> gcd(45, 60) -> gcd(60, 15) -> gcd(15, 0)

B

gcd(105, 45) -> gcd(45, 15) -> gcd(15, 0)

C

gcd(105, 45) -> gcd(60, 45) -> gcd(15, 45)

D

gcd(105, 45) -> gcd(15, 45) -> gcd(15, 0)

语言: C++
GESP真题 五级
2026.6
单选题号: 4
EXY-SC-1443
第 58 题
双链表结点定义如下,若要删除双链表中的中间结点(非首尾节点)p,下面写法正确的是( )。
struct Node {
    int val;
    Node* prev;
    Node* next;
};
A
p->prev->next = p->next;
p->next->prev = p->prev;
delete p;
B
p->next->prev = p->next;
p->prev->next = p->prev;
delete p;
C
p->prev = p->next;
p->next = p->prev;
delete p;
D
p->next->next = p->prev;
p->prev->prev = p->next;
delete p;
语言: C++
GESP真题 五级
2026.6
单选题号: 3
EXY-SC-1442
第 59 题
下面代码遍历并输出一个循环单链表,其中 head 指向链表的第一个节点,横线处应填入的是( )。
struct Node {
    int val;
    Node* next;
};

void printList(Node* head) {
    if (head == nullptr) return;
    Node* p = head;
    _______________________ // 在此处填入代码
    cout << endl;
}
A
while (p != nullptr) {
    cout << p->val << " ";
    p = p->next;
}
B
while (p->next != nullptr) {
    cout << p->val << " ";
    p = p->next;
}
C
do {
    cout << p->val << " ";
    p = p->next;
} while (p != head);
D
for (; p; p = p->next) {
    cout << p->val << " ";
}
语言: C++
GESP真题 五级
2026.6
单选题号: 2
EXY-SC-1441
第 60 题
假设 head != nullptr,下面是实现单向循环链表在头节点后插入新节点的代码,横线处应填入( )。
struct Node {
    int val;
    Node* next;
};

void insertAfterHead(Node* head, int x) {
    Node* newNode = new Node;
    newNode->val = x;
    ______________________ // 在此处填入代码
}
A
newNode->next = head;
head->next = newNode;
B
newNode->next = head->next;
head->next = newNode;
C
head->next = newNode;
newNode->next = head->next;
D
newNode->next = head->next;
head = newNode;
语言: C++
GESP真题 五级
2026.6
单选题号: 1
当前页显示 56 - 60 ,共 1260 道单选题