n과 같이 숫자를 받는 JavaScript 함수를 작성해야 합니다. 함수는 1에서 n까지의 모든 숫자로 정확히 나누어 떨어지는 가능한 가장 작은 숫자를 찾아 반환해야 합니다.
예시
다음은 코드입니다 -
const smallestDivisible = (num) => {
let i, n = 1;
const largestPower = (n, num) => {
let p, e = 2, largest = n;
while ((p = Math.pow(n, e)) <= num) {
largest = p;
e += 1;
}
return largest;
}
const isPrime = n => {
let i, num = Math.ceil(Math.sqrt(n));
for (i = 3; i <= num; i += 2) {
if (n % i === 0) {
return false;
}
}
return true;
}
for (i = 3; i <= num; i += 2) {
if (isPrime(i)) {
n *= largestPower(i, num);
}
}
return n * largestPower(2, num);
}
console.log(smallestDivisible(20)); 출력
다음은 콘솔의 출력입니다 -
232792560