一、算法介绍
求正整数a和正整数b的最小公倍数
二、思路及代码
1.循环,从a和b中较大的数到a*b,依次比对
let res = Math.max(a, b);
while (res <= a * b) {
if (res % a == 0 && res % b == 0) {
break;
}
res++;
}
console.log(res);
2.利用最小公倍数=(a*b)/最大公约数
故先求最大公约数,用辗转相除法
let cs = Math.max(a, b);//除数
let bcs = Math.min(a, b);//被除数
let ys = cs % bcs;//余数
while (ys != 0) {//余数不为0,继续循环
cs = bcs;//将被除数赋值给除数
bcs = ys;//将余数赋值给被除数
ys = cs % bcs;//用新的除数与被除数计算出余数
}
//循环结束,被除数就是最大公约数
console.log((a * b) / bcs);