2. ตัวหารร่วมมาก
ตัวหารร่วมมาก (ห.ร.ม.) คือเลขจำนวนเต็มบวกที่มีค่ามากที่สุด ซึ่งเมื่อนำมาหารเลขจำนวนเต็มบวก อื่นๆ ที่กำหนดให้ทุกจำนวนแล้วปรากฎว่าหารลงตัวได้ทุกจำนวน การหาตัวหารร่วมมากในโปรแกรม SCILAB สามารถทำได้โดยใช้คำสั่ง gcd ซึ่งมีรูปแบบการใช้งานคือ
เมื่อ q คือเวกเตอร์ของเลขจำนวนเต็มบวกหรือเวกเตอร์ของพหุนาม และ qq คือตัวหารร่วมมากของ สมาชิกทั้งหมดที่อยู่ในเวกเตอร์ q
ตัวอย่าง จงหาตัวหารร่วมมากของ 18 และ 84
วิธีทำ เนื่องจาก และ ดังนั้นตัวหารร่วมมากของ 18 และ 84 คือ ผู้ใช้สามารถตรวจคำตอบได้จากการใช้ชุดคำสั่งต่อไปนี้
-->q = int32([18, 84 ]) // ทำให้เป็นเลขจำนวนเต็มขนาด 32 บิต
q =
18 84
-->qq = gcd(q)
qq =
6 // ไม่มีจุดทศนิยมตามหลังตัวเลขแสดงว่าเป็นเลขจำนวนเต็ม
ซึ่งให้ผลลัพธ์ตรงตามที่ต้องการ
หมายเหตุ ในทำนองเดียวกันถ้า สมาชิกในเวกเตอร์ q ที่ใช้ในคำสั่ง gcd(q) เป็นเลขจำนวนจริง ก็จะทำให้ได้ผลลัพธ์ที่ผิดไปจากที่คาดหวังไว้ เช่น
-->q = [18, 84]
q =
18. 84. // มีจุดทศนิยมตามหลังตัวเลขแสดงว่าเป็นเลขจำนวนจริง
-->qq = gcd(q)
qq =
1 // เลขจำนวนเต็มค่า 1 เป็นตัวหารร่วมมากของเลขทุกจำนวน
นอกจากนี้คำสั่ง gcd ยังสามารถใช้หาตัวหารร่วมมากของพหุนามได้เช่นกัน ดังแสดงในตัวอย่าง ต่อไปนี้
ตัวอย่าง จงหาตัวคูณร่วมน้อยและตัวหารร่วมมากของ พหุนาม และ 
วิธีทำ เนื่องจาก และ ดังนั้นจะได้ว่าตัวคูณร่วมน้อยมีค่าเท่ากับ และ ตัวหารร่วมมาก มีค่าเท่ากับ ซึ่งผู้ใช้สามารถตรวจคำตอบได้จากการใช้ชุด
คำสั่งต่อไปนี้
-->x = poly(0, 'x'); // กำหนดให้ x เป็นตัวแปรพหุนาม
-->p = [x^2 5 * x - 14, x^2 12 * x + 35]
p =
- 14 - 5x + x2 35 - 12x + x2
-->lcm(p)
ans =
70 + 11x2 - 10x3 + x
-->gcd(p)
ans =
- 7 + x
ซึ่งให้ผลลัพธ์ตรงตามที่ต้องการ
|