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

โปรแกรมคำนวณ gcd ของตัวเลขสองตัวแบบเรียกซ้ำใน Python


สมมติว่าเรามีตัวเลขสองตัว a และ b เราต้องหา GCD ของตัวเลขสองตัวนี้แบบเรียกซ้ำ ในการรับ GCD เราจะใช้อัลกอริทึมแบบยุคลิด

ดังนั้น หากอินพุตเป็น a =25 b =45 ผลลัพธ์จะเป็น 5

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • กำหนดฟังก์ชัน gcd() นี่จะใช้เวลา a, b
  • ถ้า a เหมือนกับ b แล้ว
    • คืนสินค้า
  • มิฉะนั้น เมื่อ
  • ส่งคืน gcd(b, a)
  • มิฉะนั้น
    • ส่งคืน gcd(b, a - b)
  • ตัวอย่าง

    ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

    def gcd(a, b):
       if a == b:
          return a
       elif a < b:
          return gcd(b, a)
       else:
          return gcd(b, a - b)
    
    a = 25
    b = 45
    print(gcd(a, b))

    อินพุต

    25, 45
    

    ผลลัพธ์

    5