Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ตัวคูณร่วมน้อยที่เล็กที่สุดของอาร์เรย์ของตัวเลขใน JavaScript


สมมุติว่า เรามีอาร์เรย์ของตัวเลขสองตัวที่ระบุช่วง เราจำเป็นต้องเขียนฟังก์ชันที่หาตัวคูณร่วมที่เล็กที่สุดของพารามิเตอร์ที่ให้มา ซึ่งสามารถหารด้วยทั้งสองอย่างเท่าๆ กัน และด้วยตัวเลขตามลำดับทั้งหมดในช่วงระหว่างพารามิเตอร์เหล่านี้

ช่วงจะเป็นอาร์เรย์ของตัวเลขสองตัวที่ไม่จำเป็นต้องอยู่ในลำดับตัวเลข

ตัวอย่างเช่น หากให้ [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