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

เขียนโปรแกรมคำนวณตัวคูณร่วมน้อยของตัวเลขสองตัว JavaScript


เราจำเป็นต้องเขียนฟังก์ชันที่ยอมรับตัวเลขสองตัวและคืนค่าตัวคูณร่วมน้อยของพวกมัน

ตัวคูณร่วมน้อย (LCM)

ผลคูณร่วมน้อยของตัวเลขสองตัว a และ b คือจำนวนเต็มบวกที่เล็กที่สุดที่หารด้วย a และ b ลงตัว

ตัวอย่างเช่น − LCM ของ 6 และ 8 คือ 24 เพราะ 24 เป็นจำนวนเต็มบวกที่น้อยที่สุดที่หารด้วย 6 และ 8

วิธีการคำนวณ LCM

หนึ่งในหลายวิธีในการคำนวณ LCM ของตัวเลขสองตัว a และ b คือการหารผลคูณของ a และ b ด้วยจำนวนเต็มที่มากที่สุด (เรียกอีกอย่างว่าตัวหารร่วมมากหรือ GCD) ที่หารทั้ง a และ b

ในกรณีของ 6 และ 8 ผลคูณของมันคือ 48 และจำนวนเต็มที่มากที่สุดที่หารทั้งคู่ได้คือ 2 ดังนั้น LCM ของพวกมันคือ −

(6*8)/2 = 24

เมื่อเข้าใจสิ่งเหล่านี้แล้ว เรามาเริ่มกันที่ส่วนการเขียนโค้ดกัน −

ตัวอย่าง

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);
};
console.log(lcm(6, 8));
console.log(lcm(16, 18));
console.log(lcm(0, 8));
console.log(lcm(11, 28));
console.log(lcm(18, 34));

ทำความเข้าใจโค้ด

เนื่องจากจำนวนเต็มที่มากที่สุดที่หารตัวเลขทั้งสองได้อย่างแม่นยำจะยังคงน้อยกว่าหรือเท่ากับจำนวนที่น้อยกว่าของตัวเลขทั้งสอง เรากำลังคำนวณ LCM เราจึงเรียกใช้การวนซ้ำแบบลดค่าจากจำนวนที่น้อยกว่าไปจนถึง 2

หากในการวนซ้ำ เราพบตัวเลขใดๆ ที่หารทั้งสองตัวเลข เราสามารถรับประกันได้ว่าจำนวนที่มากที่สุดที่หารทั้งสองเพราะเราอยู่ในวงที่ลดลง ดังนั้นเราจึงกลับมาที่นั่นด้วย LCM

หากเราทำซ้ำจนครบ แสดงว่าเราไม่พบตัวเลขดังกล่าวใดๆ และ 1 เป็นตัวเลขเดียวที่หารทั้งสองได้ (ในแง่อื่นๆ ตัวเลขเป็นแบบ co-prime) ดังนั้นเราจึงส่งคืนผลิตภัณฑ์ของพวกมันได้ง่ายๆ

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็น -

24
144
0
308
306