求几个数的最小公倍数就是先求出前两个数的最小公倍数,然后再把这个最小公倍数跟第三个数放在一起来求最小公倍数,如此类推...
var dbList = [];
//两个数的最小公倍数
function gcd(a,b){
var minNum = Math.min(a,b),maxNum = Math.max(a,b),i=Math.floor(maxNum/minNum),vper=0;
if(a ===0 || b===0){
return maxNum;
}
for(;i<=maxNum;i++){
vper = minNum * i;
if(vper % maxNum === 0){
return vper;
break;
}
}
}
//求一个数组的最下公倍数
function gcds(arr){
var onum = 0,i = 0,len = arr.length,midNum = 0;
for(;i<len;i++){
onum = Math.floor(arr[i]);//去掉小数
midNum = gcd(midNum,onum);
}
return midNum;
}
console.log(gcds([2,5,8,21]))
感谢@朝闻道1991 指正。