เขียนโปรแกรมหา ห.ร.ม. แบบยูคลิด (Euclid) ด้วยภาษา Python
ขั้นตอนวิธีของยูคลิด
1. เขียนจำนวนที่ต้องการหา ห.ร.ม. เรียงต่อกัน
2. ถ้าจำนวนที่น้อยกว่ามีค่าเป็นศูนย์ คำตอบคือจำนวนที่มีค่ามากกว่า และจบการทำงาน
3. ในบรรทัดถัดมา
– 3.1 เขียนเศษที่ได้จากการหารจำนวนที่มากกว่าด้วยจำนวนที่น้อยกว่า
– 3.2 คัดลอกจำนวนเต็มที่มีค่าน้อยกว่าลงในบรรทัดเดียวกัน
4.กลับไปทำกระบวนการรอบต่อไปในขั้นตอนที่ 2
สามารถดูขั้นตอนและคำอธิบายอย่างละเอียดได้ที่ ขั้นตอนการหา ห.ร.ม. แบบยูคลิด
print("โปรแกรมหา ห.ร.ม. ด้วยขั้นตอนวิธีของยูคลิด")
num1 = int(input("ใส่ตัวเลขตัวที่ 1 ที่ต้องการหา ห.ร.ม. :"))
#รับค่าตัวเลขตัวที่ 1
num2 = int(input("ใส่ตัวเลขตัวที่ 2 ที่ต้องการหา ห.ร.ม. :"))
#รับค่าตัวเลขตัวที่ 2
print("หา ห.ร.ม. ของ",num1,"และ",num2)
#แสดงผลตัวเลขที่ต้องการหา ห.ร.ม.
while num1!=0 and num2!=0:
#วนซ้ำจนกว่าตัวใดตัวหนึ่งจะเป็น 0
if num1>num2:
temp = num1
num1 = num2
num2 = temp
#สลับค่าให้ค่าน้อยที่สุดอยู่ที่ num1 เสมอ
#เพื่อใช้ในการหารเอาเศษ
num2 = num2%num1
#หารเอาเศษโดยการใช้ % (modulus)
print(num1," , ",num2)
#แสดงผลเศษของการหารในแต่ละรอบ
print("ห.ร.ม. เท่ากับ",num1)
#เมื่อหลุดออกมาจาก while ก็จะได้คำตอบอยู่ที่ num1