2020-04-06
描述
计算两个及以上的数字或数组的最大公约数。
提示
- 内部函数
_gcd使用递归 - 当
y等于0时,返回x - 否则将
y和x/y的余数传入 GCD 中继续进行计算
代码
const gcd = (...arr) => {
const _gcd = (x, y) => (!y ? x : gcd(y, x % y));
return [...arr].reduce((a, b) => _gcd(a, b));
};
示例
计算一下数字中的最大公约数:
gcd(8, 36); // 4
gcd(...[12, 8, 32]); // 4
ME!
链滴