题目编号
语言
全部语言
等级
全部等级
考查知识点
选择考查知识点 (0)
找到 1506 道单选题
EXY-SC-1591
第 156 题

下列 C++ 代码的输出结果是( )。

#include <iostream>
using namespace std;
int main() {
    int a = 5, b = 3;
    cout << (a & b) + (a | b) << endl;
    return 0;
}
A

6

B

7

C

8

D

9

语言: C++
GESP真题 七级
2026.9
单选题号: 1
EXY-SC-1590
第 157 题

下面是一维数组实现的 0/1 背包。内层循环必须从大到小枚举容量,主要原因是( )。

for (int i = 0; i < n; ++i) {
    for (int w = W; w >= weight[i]; --w) {
        dp[w] = max(dp[w], dp[w - weight[i]] + value[i]);
    }
}
A

保证每件物品最多被选择一次

B

保证物品必须按照重量从大到小选择

C

降低时间复杂度到 $O(n)$

D

防止数组 dp 发生越界

语言: C++
GESP真题 六级
2026.9
单选题号: 15
EXY-SC-1589
第 158 题

下面代码求从包含非负元素的数组中选择若干个互不相邻元素所能得到的最大和。横线处应填写( )。

int maxSum(vector<int> &a) {
    int n = a.size();
    if (n == 0)
        return 0;
    if (n == 1)
        return a[0];
    vector<int> dp(n);
    dp[0] = a[0];
    dp[1] = max(a[0], a[1]);
    for (int i = 2; i < n; ++i)
        dp[i] = __________________________;
    return dp[n - 1];
}
A

dp[i - 1] + a[i]

B

dp[i - 2] + a[i]

C

max(dp[i - 1], dp[i - 2] + a[i])

D

max(dp[i - 1], a[i])

语言: C++
GESP真题 六级
2026.9
单选题号: 14
EXY-SC-1588
第 159 题

下面代码计算走到第 n 级台阶的方法数,每次可以走 1 级或 2 级。横线处应填写( )。

int ways(int n) {
    if (n <= 2)
        return n;
    vector<int> dp(n + 1);
    dp[1] = 1;
    dp[2] = 2;
    for (int i = 3; i <= n; ++i)
        dp[i] = __________________________;
    return dp[n];
}
A

dp[i - 1] + 1

B

dp[i - 1] + dp[i - 2]

C

dp[i - 2] + 2

D

2 * dp[i - 1]

语言: C++
GESP真题 六级
2026.9
单选题号: 13
EXY-SC-1587
第 160 题

下面代码用反射法生成 n 位格雷编码,横线处应填写( )。

vector<string> gray(int n) {
    vector<string> ans = {"0",  "1"};
    for (int bit = 2; bit <= n; ++bit) {
        int oldSize = ans.size();
        for (int i = oldSize - 1; i >= 0; --i)
            ans.push_back(__________________________);
        for (int i = 0; i < oldSize; ++i)
            ans[i] = "0" + ans[i];
    }
    return ans;
}
A

ans[i] + "1"

B

"0" + ans[i]

C

"1" + ans[i]

D

ans[oldSize - i - 1]

语言: C++
GESP真题 六级
2026.9
单选题号: 12
当前页显示 156 - 160 ,共 1506 道单选题