题目编号
语言
全部语言
等级
全部等级
知识点
选择知识点 (0)
找到 1260 道单选题
EXY-SC-1035
第 466 题

给定如下函数(函数功能同上题,增加输出打印):

int fun(int n) {
    cout << n << " ";
    if (n == 1) return 1;
    if (n == 2) return 2;
    return fun(n - 2) - fun(n - 1);
}

则当 $n = 4$ 时,屏幕上输出序列为( )。

A

4 3 2 1

B

1 2 3 4

C

4 2 3 1 2

D

4 2 3 2 1

语言: C++
GESP真题 五级
2024.6
单选题号: 15
EXY-SC-1034
第 467 题

给定如下函数:

int fun(int n) {
    if (n == 1) return 1;
    if (n == 2) return 2;
    return fun(n - 2) - fun(n - 1);
}

则当 $n = 7$ 时,函数返回值为( )。

A

0

B

1

C

21

D

-11

语言: C++
GESP真题 五级
2024.6
单选题号: 14
EXY-SC-1033
第 468 题
设 $A$ 和 $B$ 是两个长度为 $n$ 的有序数组,现将 $A$ 和 $B$ 合并成一个有序数组,归并排序算法在最坏情况下至少要做( )次比较。
A
$n^2$
B
$n \log n$
C
$2n - 1$
D
$n$
语言: C++
GESP真题 五级
2024.6
单选题号: 13
EXY-SC-1032
第 469 题

要实现一个高精度减法函数,则下面代码中加划线应该填写的代码为( )。

//假设a和b均为正数,且a表示的数比b大
vector<int> minus(vector<int> a, vector<int> b) {
    vector<int> c;
    int len1 = a.size();
    int len2 = b.size();
    int i, t;
 
    for (i = 0; i < len2; i++) {
        if (a[i] < b[i]) { //借位
            ______________ // 在此处填入代码
        }
        a[i] += 10;
        t = a[i] - b[i];
        c.push_back(t);
    }
    for (; i < len1; i++)
        c.push_back(a[i]);
 
    len3 = c.size();
    while (c[len3 - 1] == 0) {//去除前导0
        c.pop_back();
        len3--;
    }
    return c;
}
A

a[i + 1]--;

B

a[i]--;

C

b[i + 1]--;

D

b[i]--;

语言: C++
GESP真题 五级
2024.6
单选题号: 12
EXY-SC-1031
第 470 题

根据下述二分查找法,在排好序的数组 1, 3, 6, 9, 17, 31, 39, 52, 61, 79, 81, 90, 96 中查找数值 82,和82比较的数组元素分别是( )。

int binary_search(vector<int>& nums, int target) {
    int left = 0;
    int right = nums.size() - 1;
    while (left <= right) {
        int mid = (left + right) / 2;
        if (nums[mid] == target) {
            return mid;
        } else if (nums[mid] < target) {
            left = mid + 1;
        } else {
            right = mid - 1;
        }
    }
    return -1; // 如果找不到目标元素,返回-1
}
A

52, 61, 81, 90

B

52, 79, 90, 81

C

39, 79, 90, 81

D

39, 79, 90

语言: C++
GESP真题 五级
2024.6
单选题号: 11
当前页显示 466 - 470 ,共 1260 道单选题