题解 | #求最小公倍数#
求最小公倍数
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])); })();