Computer >> Máy Tính >  >> Lập trình >> Javascript

Số nhỏ nhất chia hết cho n số đầu tiên trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một số, chẳng hạn như n. Hàm sẽ tìm và trả về số nhỏ nhất có thể chia hết cho tất cả các số từ 1 đến n.

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là kết quả trên bảng điều khiển -

232792560