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
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于