题目编号
语言
全部语言
等级
全部等级
考查知识点
选择考查知识点 (0)
找到 1506 道单选题
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;
}
A

p % i == 0

B

i % p == 0

C

i == p

D

i * p == n

语言: 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;
}
A

i < n

B

i <= n / 2

C

i * i < n

D

(long long) i * i <= n

语言: 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);
}
A

3

B

5

C

15

D

45

语言: 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;
}
A

fast = fast->next;

B

fast = fast->next->next;

C

fast = slow->next;

D

fast = head->next;

语言: C++
GESP真题 五级
2026.9
单选题号: 3
EXY-SC-1562
第 185 题

在不带哨兵结点的双向链表中,结点 p 既不是头结点也不是尾结点。删除 p 的正确代码是( )。

struct Node {
    int value;
    Node *prev;
    Node *next;
};
A
p->prev = p->next;
p->next = p->prev;
delete p;
B
p->prev->next = p;
p->next->prev = p;
delete p;
C
p->prev->next = p->next;
p->next->prev = p->prev;
delete p;
D
p->next = p->prev;
p->prev->next = nullptr;
delete p;
语言: C++
GESP真题 五级
2026.9
单选题号: 2
当前页显示 181 - 185 ,共 1506 道单选题