เราจำเป็นต้องเขียนฟังก์ชันที่ใช้อาร์เรย์ของตัวเลขสองตัว a และ b (a>=b) และคืนค่าตัวคูณร่วมน้อยของตัวเลขทั้งหมดระหว่าง [a, b]
แนวทาง
ก่อนอื่น เราจะเขียนฟังก์ชันพื้นฐานที่คำนวณผลคูณร่วมน้อยของตัวเลขสองตัว เมื่อเราได้แล้ว เราจะเรียกมันซ้ำทับตัวเลขที่อยู่ระหว่าง [a, b] และส่งคืนผลลัพธ์ในที่สุด
ตัวอย่าง
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]));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
168 12252240 840 26771144400