Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tính LCM (Bội chung nhỏ nhất) của nhiều số - JavaScript


Viết hàm nhận mảng số bất kỳ độ dài, trả về LCM.

Cách làm: 1) Hàm GCD (ước chung lớn nhất) 2 số. 2) Hàm LCM 2 số = a*b/GCD. 3) Duyệt mảng tính LCM tích lũy.

Ví dụ

Mã minh họa:

const calculateLCM = (...arr) => { 
  const gcd2 = (a, b) => { 
    if(!b) return b===0 ? a : NaN; 
    return gcd2(b, a%b); 
  }; 
  const lcm2 = (a, b) => a * b / gcd2(a, b); 
  let n = 1; 
  for(let i = 0; i < arr.length; ++i){ 
    n = lcm2(arr[i], n); 
  } 
  return n; 
}; 
console.log(calculateLCM(12, 18, 7, 15, 20, 24, 28));

Kết quả

Đầu ra:

2520