JavaScript 中一陣列數字的最小公倍數


假設我們有一個指定範圍的兩數陣列。我們需要編寫一個函式,找到所提供引數的最小公倍數,它可以均勻地被這兩個數以及介於這兩個引數之間的所有連續數字整除。

該範圍將是一個兩數陣列,不一定是按數字順序排列的。

例如,如果給出 [1,3],那麼我們需要找到 1 和 3 的最小公倍數,並且它也可以被 1 和 3 之間的所有數字均勻整除。這裡的答案是 6。

示例

程式碼如下 −

const range = [1, 12];
const smallestCommon = (array = []) => {
   arr = array.slice().sort((a, b) => a − b);
   let result = [];
   for(let i = arr[0]; i <= arr[1]; i++){
      result.push(i);
   };
   let i = 1;
   let res;
   while(result.every(item=>res%item==0)==false){
      i++;
      res = arr[1]*i;
   }
   return res;
}
console.log(smallestCommon(range));

輸出

並且控制檯中的輸出將為 −

27720

更新於:2020 年 11 月 21 日

305 瀏覽

啟動你的職業生涯

完成課程即可獲得認證

開始
廣告