用 JavaScript 計算一個範圍的最小公倍數


我們需要編寫一個函式,它接收一個包含兩個數 a 和 b (a >= b)的陣列,並返回 [a, b] 範圍內所有數的最小公倍數。

方法

我們首先會編寫一個基本函式,用於計算兩個數的最小公倍數,一旦我們有了這個函式,我們就會在 [a, b] 範圍內進行遞迴呼叫,最後返回結果。

示例

const lcm = (a, b) => {
   let min = Math.min(a, b);
   while(min >= 2){
      if(a % min === 0 && b % min === 0){
         return (a*b)/min;
      };
      min--;
   };
   return (a*b);
};
const leastCommonMultipleInRange = (arr, len = arr[0], res = 1) => {
   if(len <= arr[1]){
      return leastCommonMultipleInRange(arr, len+1, lcm(res, len));
   };
   return res;
};
console.log(leastCommonMultipleInRange([6, 8]));
console.log(leastCommonMultipleInRange([6, 18]));
console.log(leastCommonMultipleInRange([1, 8]));
console.log(leastCommonMultipleInRange([10, 25]));

輸出

控制檯中的輸出為 -

168
12252240
840
26771144400

更新日期:2020-08-25

76 次瀏覽

開啟你的 職業生涯

完成課程,獲得認證

開始
廣告