JavaScript - 找出最小的 n 位或更大的數字


我們需要編寫一個 JavaScript 函式,其中第一個引數接收一個數字,比如 n,第二個引數接收一個數字陣列。該函式應該返回一個最小的 n 位數字,該數字是陣列中指定的所有元素的倍數。如果不存在這樣的 n 位元素,那麼我們應返回最小元素。

例如:如果陣列為 −

const arr = [12, 4, 5, 10, 9]

對於 n = 2 和 n = 3,輸出應為 180

示例

程式碼如下 −

const arr = [12, 4, 5, 10, 9]
const num1 = 2;
const num2 = 3;
const allDivides = (arr, num) => arr.every(el => num % el === 0);
const smallestMultiple = (arr, num) => {
   let smallestN = Math.pow(10, (num - 1));
   while(!allDivides(arr, smallestN)){
      smallestN++;
   };
   return smallestN;
};
console.log(smallestMultiple(arr, num1));
console.log(smallestMultiple(arr, num2));

輸出

控制檯中的輸出如下 −

180
180

更新日期: 16-Sep-2020

336 次檢視

開啟你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.