function smallestCommons(arr) {
var range = [];
//从大到小排列
arr.sort(function(a,b){return b-a;});
for(var i=arr[0];i>=arr[1];i--){
range.push(i);
}
//最小公倍数 = 数列乘积 / 最大公约数
var lcm = range[0];
for(var j=1;j<range.length;j++){
var GCD = gcd(lcm, range[j]);
lcm = (lcm * range[j]) / GCD;
}
return lcm;
//欧几里德算法求最大公约数
function gcd(x, y) {
if (y === 0)
return x;
else
return gcd(y, x%y);
}
}
THE END.
网友评论