编写一个程序来计算两个数字的最小公倍数 JavaScript
我们需要编写一个函数,该函数接受两个数字并返回它们的最小公倍数。
最小公倍数 (LCM)
两个数字 a 和 b 的最小公倍数是能被 a 和 b 整除的最小正整数。
例如 - 6 和 8 的 LCM 是 24,因为 24 是能被 6 和 8 整除的最小正整数。
计算 LCM 的方法
计算两个数字 a 和 b 的 LCM 的众多方法之一是将 a 和 b 的乘积除以能同时整除 a 和 b 的最大整数(也称为最大公约数或 GCD)。
对于 6 和 8,它们的乘积是 48,能同时整除它们的最大的整数是 2,因此它们的 LCM 是 -
(6*8)/2 = 24
弄清楚了这些,现在让我们进入编码部分 -
示例
const lcm = (a, b) => {
let min = Math.min(a, b);
while(min >= 2){
if(a % min === 0 && b % min === 0){
return (a*b)/min;
};
min--;
};
return (a*b);
};
console.log(lcm(6, 8));
console.log(lcm(16, 18));
console.log(lcm(0, 8));
console.log(lcm(11, 28));
console.log(lcm(18, 34));理解代码
由于能同时精确整除这两个数字的最大整数仍然小于或等于我们要计算 LCM 的两个数字中较小的那个,因此我们从较小的数字一直递减到 2 运行一个循环。
如果在我们的迭代中我们找到任何同时整除这两个数字的数字,我们可以保证它是同时整除它们的最大的数字,因为我们处于递减循环中,因此我们立即返回 LCM。
如果我们遍历整个循环,这意味着我们没有找到这样的数字,而 1 是唯一同时整除它们的数字(换句话说,这两个数字是互质的),因此我们只需返回它们的乘积。
输出
控制台中的输出将是 -
24 144 0 308 306
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP