Computer >> Hướng Dẫn 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 ta cần viết một hàm JavaScript nhận vào một số n. Hàm nên tìm và trả về số nhỏ nhất chính xác chia hết cho tất cả các số từ 1 đến n.

Ví dụ

Code sau đây:

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

Kết quả

Kết quả trên console:

232792560