GESP 六级 · GESP 202503 C++ 六级 第 12 题

选择题 · 答案 A · 考点:格雷码

← 整套速查表 GESP 六级 全部真题

题目

以下代码用于生成 $n$ 位格雷编码。横线上应填写( )。

vector<string> generateGrayCode(int n) {
    if (n == 0) return {"0"};
    if (n == 1) return {"0", "1"};

    vector<string> prev = generateGrayCode(n - 1);
    vector<string> result;

    for (string s : prev) {
        result.push_back("0" + s); // 在前缀添加 0
    }
    for (int i = prev.size() - 1; i >= 0; i--) {
        ________________________ // 在此处填入代码
    }
    return result;
}
答案:A

考点

格雷码

解题思维

根据上下文和C++语法规则确定空缺处应填的内容,关注函数调用参数、表达式和返回值类型。

常见错误

填空时注意语法完整性:分号、括号匹配、函数参数类型和个数、返回值类型。

详细解析(节选)

【考点】递归(递推构造格雷码)|字符串拼接|格雷码构造规则

1. 🎯 考纲定位

GESP 六级「递归与回溯」模块。命题人专门卡住那些「背过格雷码但没真理解构造规则」的考生——六级要求能独立设计递推方案,这道题就是看你是否掌握了格雷码的核心生成法则。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断