计算两个或多个数字/数组之间的最大公约数
Posted typttxs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算两个或多个数字/数组之间的最大公约数相关的知识,希望对你有一定的参考价值。
const gcd = (...arr) => const _gcd = (x, y) => (!y ? x : gcd(y, x % y)); return [...arr].reduce((a, b) => _gcd(a, b)); ;
函数使用递归。 基本情况是当y等于0.在这种情况下,返回x。 否则,返回y的GCD和除法x / y的余数。
打开node命令行调试结果如下
> const gcd = (...arr) => ... const _gcd = (x, y) => (!y ? x : gcd(y, x % y)); ... return [...arr].reduce((a, b) => _gcd(a, b)); ... ; undefined > gcd(8, 36); 4 > gcd(...[12, 8, 32]); 4 >
以上是关于计算两个或多个数字/数组之间的最大公约数的主要内容,如果未能解决你的问题,请参考以下文章