Bội chung nhỏ nhất (BCNN - LCM) của hai số nguyên a và b là số nguyên dương nhỏ nhất chia hết cho cả a và b.
Ví dụ:
BCNN của 4 và 6 là 12 vì 12 là số nhỏ nhất chia hết cho cả 4 và 6.
Chúng ta cần viết một hàm JavaScript nhận vào hai số, tính và trả về BCNN của chúng.
Ví dụ
Dưới đây là mã nguồn:
const num1 = 4; const num2 = 6; const findLCM = (num1, num2) => { let hcf; for (let i = 1; i <= num1 && i <= num2; i++) { if( num1 % i == 0 && num2 % i == 0) { hcf = i; }; }; let lcm = (num1 * num2) / hcf; return lcm; }; console.log(findLCM(num1, num2));Kết quả
Đầu ra trên console:
12
Lưu ý: Cách tiếp cận này tìm UCLN bằng duyệt tuyến tính O(min(a,b)). Có thể tối ưu hơn bằng thuật toán Euclid O(log min(a,b)).