算法中级:最小公倍数
在这道题目中,我们需要写一个函数,它接收一个包含两个数字的数组参数arr,它的返回值为这两个数字范围内所有数字(包含这两个数字)的最小公倍数。
注意,较小数不一定总是出现在数组的第一个元素。
比如,传入[1, 3],那么函数的返回结果应为 1、2、3 的最小公倍数,即为 6。
function smallestCommons(arr) {
arr.sort(function(a, b) {
return a - b;
});
let gbs = arr[0];
for(let i = (arr[0]+1); i <= arr[1]; i++){
let gys = 1;
for(let j = 1; j <= i && j <= gbs; j++){
if(i%j == 0 && gbs % j == 0)
gys = j;
}
gbs = i * gbs / gys;
}
return gbs;
}
smallestCommons([2,10]);