Web 前端开发 让前端飞

【Javascript】计算两数之间所有整数的最小公倍数

2017-11-30  本文已影响0人  雨水之后
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.

上一篇下一篇

猜你喜欢

热点阅读