int gcd (int a, int b)
{
if (b == 0)
return a;
if (a == 0)
return b;
return gcd (b, a % b);
}
gcd(5, 15)的结果是什么?
我最终得到了 15,但我不确定它是否正确,所有的循环让我感到困惑。
最佳答案
这是按顺序进行的递归调用
gcd(5, 15)
gcd(5, 5) # Because 5 % 15 = 5
gcd(5, 0)
所以gcd(5, 15)的返回值为5
关于c++ - 对这个递归示例有点困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43775599/