单选题

下列C++代码用两种方式求解两个正整数的最大公约数,说法错误的是(    )。

int gcde(int big,int smal1){
    if(big<small){
        swap(big,small);
    }
    if(big%small==0){
        return small;
    }
    return gcde(small,big %small);
}
int gcdl(int big, int small){
    if(big< small){
        swap(big, small);
    }
    for(inti=small;i>=1;--i){
        if(big%i==0&& small%i== 0)
            return i;
    }
    return 1;
}
A

gcd0() 函数的时间复杂度为O(log n)

B

gcd1() 函数的时间复杂度O(n)

C

一般说来, gcd0() 的效率高于 gcd1()

D

gcd1() 中的代码 for (int i = small; i >= 1; --i) 应该修改为 for (int i = small; i > 1; --i)

赣ICP备20007335号-2