สมมุติว่า เรามีอาร์เรย์ของตัวเลขสองตัวที่ระบุช่วง เราจำเป็นต้องเขียนฟังก์ชันที่หาตัวคูณร่วมที่เล็กที่สุดของพารามิเตอร์ที่ให้มา ซึ่งสามารถหารด้วยทั้งสองอย่างเท่าๆ กัน และด้วยตัวเลขตามลำดับทั้งหมดในช่วงระหว่างพารามิเตอร์เหล่านี้
ช่วงจะเป็นอาร์เรย์ของตัวเลขสองตัวที่ไม่จำเป็นต้องอยู่ในลำดับตัวเลข
ตัวอย่างเช่น หากให้ [1, 3] เราต้องค้นหาตัวคูณร่วมที่เล็กที่สุดของทั้ง 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