题解 | #求最小公倍数#
求最小公倍数
https://www.nowcoder.com/practice/22948c2cad484e0291350abad86136c3
/* 循环和递归两种解法:
1、获取输入的两个数,进行排序,得到较大的一个
2、以这个较大数开始按倍数递增,判断是否可以整除输入的两个数,若都可以整除,则这个数就是其最大公倍数
*/
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
// Write your code here
let arr = [];
while ((line = await readline())) {
arr = line.split(" ");
}
// // 方法1:循环求解
// arr.forEach((item, index) => (arr[index] = +item));
// arr.sort((a, b) => a - b);
// let k = arr[1];
// let i = 1;
// // 以两数中的最大数的倍数递增判断是否可以整除
// while (k % arr[0] || k % arr[1]) {
// i++;
// k = arr[1] * i;
// }
// console.log(k)
// 方法2:递归求解
// m 用于存储最小公倍数
function minG(a, b, m = 0) {
m = Math.max(a, b, m);
if (m % a == 0 && m % b == 0) {
return m;
} else {
m += Math.max(a, b);
return minG(a, b, m);
}
}
console.log(+minG(arr[0], +arr[1]));
})();