Chúng ta bắt buộc phải viết một hàm nhận vào một mảng hai số a và b (a> =b) và trả về bội số chung nhỏ nhất của tất cả các số giữa [a, b].
Phương pháp tiếp cận
Đầu tiên, chúng ta sẽ viết một hàm cơ bản để tính bội số chung nhỏ nhất của hai số, sau khi chúng ta có nó, chúng ta sẽ gọi nó một cách đệ quy trên các số nằm giữa [a, b] và cuối cùng là trả về kết quả.
Ví dụ
const lcm = (a, b) => { let min = Math.min(a, b); while(min >= 2){ if(a % min === 0 && b % min === 0){ return (a*b)/min; }; min--; }; return (a*b); }; const leastCommonMultipleInRange = (arr, len = arr[0], res = 1) => { if(len <= arr[1]){ return leastCommonMultipleInRange(arr, len+1, lcm(res, len)); }; return res; }; console.log(leastCommonMultipleInRange([6, 8])); console.log(leastCommonMultipleInRange([6, 18])); console.log(leastCommonMultipleInRange([1, 8])); console.log(leastCommonMultipleInRange([10, 25]));
Đầu ra
Đầu ra trong bảng điều khiển sẽ là -
168 12252240 840 26771144400