เขียนโปรแกรมหา ห.ร.ม. แบบยูคลิด (Euclid)

วันที่โพสต์

หมวดหมู่

เขียนโปรแกรมหา ห.ร.ม. แบบยูคลิด (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