Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 처음 n개의 숫자로 나눌 수 있는 가장 작은 숫자

<시간/>

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