在 JavaScript 中找到满足特定条件的最小数字


我们需要编写一个 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

更新于: 17-Oct-2020

186 人次浏览

开启你的事业

完成课程获得认证

开始
广告