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