我有以下函数可以找到 2 个整数的最大公约数。我不明白 return bestCommonDivisor(b, (a % b)); 中发生了什么 部分。
如果我做 bestCommonDivisor(8, 12) 我得到 4 这是正确的,但是当我尝试评估 return bestCommonDivisor(b, (a % b)); 我得到的部分 (12, (8 % 12)) 简化为 (12, 0) 这怎么等于 4?
// Finds greatest common divisor
function greatestCommonDivisor(a, b) {
if (b == 0) {
return a;
}
return greatestCommonDivisor(b, (a % b));
}