สมมติเรามีอาร์เรย์สองตัวเลขระบุช่วง เราต้องเขียนฟังก์ชันหา LCM ของพารามิเตอร์ที่ให้มา ที่หารลงตัวทั้งสองตัว และทุกตัวเลขระหว่างช่วงนั้น
ช่วงจะเป็นอาร์เรย์สองตัวเลข ไม่จำเป็นต้องเรียงลำดับ
ตัวอย่าง: ถ้าให้ [1, 3] ต้องหา LCM ของ 1 และ 3 ที่หารลงตัวด้วยทุกตัวระหว่าง 1-3 คำตอบคือ 6
ตัวอย่างโค้ด
const range = [1, 12];
const smallestCommon = (array = []) => {
arr = array.slice().sort((a, b) => a - b);
let result = [];
for(let i = arr[0]; i <= arr[1]; i++){
result.push(i);
};
let i = 1;
let res;
while(result.every(item=>res%item==0)==false){
i++;
res = arr[1]*i;
}
return res;
}
console.log(smallestCommon(range));
ผลลัพธ์
ผลลัพธ์ที่แสดงในคอนโซลจะเป็นดังนี้:
27720