题解 | #求最小公倍数#
求最小公倍数
https://www.nowcoder.com/practice/22948c2cad484e0291350abad86136c3
基本解法:短除法
例:求9和15的最小公倍数。
3 | 9 15
3 5
最小公倍数为:3 * 3 * 5 = 45
当求a、b的最小公倍数时,令min = min(a,b),从2到min循环,若a、b能同时被i整除,则将i推入数组arr,a更新为a/i,b更新为b/i,min更新为min(a,b),继续从2到min开始循环。如不能整除,i++,将1推入数组arr中。
当循环结束时,将arr中的每个元素相乘,在乘以a、b即为最小公倍数。
let input = readline().split(' ');
let a = +input[0];
let b = +input[1];
function getMinMultiple(a,b){
let min = Math.min(a,b);
let part = [];
for(let i = 2;i<=min;){
if(a%i===0 && b%i===0){
part.push(i);
a=a/i;
b=b/i;
min = Math.min(a,b);
}else{
part.push(1);
i++;
}
}
return part.reduce((h,it)=>h*it,a*b)
}
print(getMinMultiple(a,b));
