We are required to write a JavaScript function that takes in a number as the first argument, say n, and an array of numbers as the second argument. The function should return the smallest n digit number which is a multiple of all the elements specified in the array. If there exist no such n digit element then we should return the smallest such element.
For example: If the array is −
const arr = [12, 4, 5, 10, 9]
For both n = 2 and n = 3, the output should be 180
Example
Following is the code −
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));
Output
Following is the output in the console −
180 180