在 JavaScript 中计算多个数字的最小公倍数
我们需要编写一个 JavaScript 函数,该函数接受任意长度的数字数组并返回它们的最小公倍数。
我们将分多个部分解决此问题 −
部分 1 − 我们将创建一个帮助函数来计算两个数字的最大公约数 (GCD)
部分 2 − 然后使用部分 1 中的帮助函数,我们将创建另一个帮助函数来计算两个数字的最小公倍数 (LCM)。
部分 3 − 最后,使用部分 2 中的帮助函数,我们将创建一个函数,该函数遍历数组并计算数组最小公倍数。
示例
代码如下 −
const calculateLCM = (...arr) => { const gcd2 = (a, b) => { // Greatest common divisor of 2 integers if(!b) return b===0 ? a : NaN; return gcd2(b, a%b); }; const lcm2 = (a, b) => { // Least common multiple of 2 integers return a * b / gcd2(a, b); } // Least common multiple of a list of integers let n = 1; for(let i = 0; i < arr.length; ++i){ n = lcm2(arr[i], n); } return n; }; console.log(calculateLCM(12, 18, 7, 15, 20, 24, 28));
输出
控制台中的输出如下 −
2520
广告