#3499. [GESP202506 五级 C++] 第 6 题
[GESP202506 五级 C++] 第 6 题
下列C++代码用两种方式求解两个正整数的最大公约数,说法错误的是( )。
int gcd0(int big, int small) {
if (big < small) {
swap(big, small);
}
if (big % small == 0) {
return small;
}
return gcd0(small, big % small);
}
int gcd1(int big, int small) {
if (big < small) {
swap(big, small);
}
for (int i = small; i >= 1; --i) {
if (big % i == 0 && small % i == 0)
return i;
}
return 1;
}
{{ select(1) }}
gcd0()函数的时间复杂度为gcd1()函数的时间复杂度为- 一般说来,
gcd0()的效率高于gcd1() gcd1()中的代码for (int i = small; i >= 1; --i)应该修改为for (int i = small; i > 1; --i)