在下面的C函数,令n> = m。
int gcd(n,m)
{
if (n%m ==0) return m;
n = n%m;
return gcd(m, n);
}
此函数进行了多少次递归调用?
(一种) (登录)
(B) (n)
(C) (登录)
(D) (sqrt(n))
(A) A
(B) B
(C) C
(D) D答案: (A)
说明:上面的代码是用于找到最大公约数(GCD)的欧几里得算法的实现。
有关时间复杂度,请参见http://mathworld.wolfram.com/EuclideanAlgorithm.html。
这个问题的测验