‹ 上一题 下一题 ›

g5-04354. GESP-5级-2025-06-单选-第06题 未做

下列 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;
}
  • A. gcd0() 函数的时间复杂度为
  • B. gcd1() 函数的时间复杂度为
  • C. 一般说来,gcd0() 的效率高于 gcd1()
  • D. gcd1() 中的代码
for (int i = small; i >= 1; --i)

应该修改为

for (int i = small; i > 1; --i)
未选择
输入
输出

            
答案