GESP 五级 · GESP 202406 C++ 五级 第 6 题

选择题 · 答案 D · 考点:函数与递归、算法

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

题目

欧几里得算法还可以写成如下形式:

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

下面有关说法,错误的是( )。

答案:D

考点

函数与递归算法

解题思维

辗转相除法求最大公约数:gcd(a,b) = gcd(b, a%b),当b=0时返回a。时间复杂度O(log min(a,b))。

常见错误

分析复杂度时注意外层循环和内层循环的关联。例如内外两层都到n的循环不一定是O(n²),要看内层是否每次都在缩小。

详细解析(节选)

【考点】递归|栈空间|算法效率

🎯 考纲定位

GESP 五级 C++ 模块,考查递归实现与迭代实现的对比。命题人专挑"递归更优雅"的直觉——考生看到简洁的递归代码就默认效率高,忽略了函数调用开销。

同考点真题

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