#3548. [GESP202512 五级 C++] 第 5 题
[GESP202512 五级 C++] 第 5 题
下面代码实现了欧几里得算法。下面有关说法,错误的是( )。
int gcd1(int a, int b) {
return b == 0 ? a : gcd1(b, a % b);
}
int gcd2(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
{{ select(1) }}
gcd1()实现为递归方式。gcd2()实现为迭代方式。- 当
a较大时,gcd1()实现会多次调用自身,需要较多额外的辅助空间。 - 当
a较大时,gcd1()的实现比gcd2()执行效率更高。