เมื่อต้องการค้นหาผลคูณของตัวเลขสองตัวโดยใช้เทคนิคการเรียกซ้ำ จะใช้เงื่อนไขและการเรียกซ้ำแบบง่าย
การเรียกซ้ำจะคำนวณเอาต์พุตของบิตขนาดเล็กของปัญหาที่ใหญ่กว่า และรวมบิตเหล่านี้เข้าด้วยกันเพื่อแก้ปัญหาที่ใหญ่กว่า
ตัวอย่าง
ด้านล่างนี้เป็นการสาธิตสำหรับสิ่งเดียวกัน -
def compute_product(val_1,val_2): if(val_1<val_2): return compute_product(val_2,val_1) elif(val_2!=0): return(val_1+compute_product(val_1,val_2-1)) else: return 0 val_1 = int(input("Enter the first number... ")) val_2 = int(input("Enter the second number... ")) print("The computed product is: ") print(compute_product(val_1,val_2))
ผลลัพธ์
Enter the first number... 112 Enter the second number... 3 The computed product is: 336
คำอธิบาย
- มีการกำหนดวิธีการชื่อ 'compute_product' ซึ่งใช้ค่าตัวเลขสองค่าเป็นพารามิเตอร์
- หากค่าแรกน้อยกว่าค่าที่สอง ฟังก์ชันจะถูกเรียกอีกครั้งโดยสลับพารามิเตอร์เหล่านี้
- ถ้าค่าที่สองเป็น 0 ฟังก์ชันจะถูกเรียกโดยการส่งผ่านค่าแรก และลบ '1' ออกจากค่าที่สอง แล้วบวกค่าแรกเข้ากับผลลัพธ์ของฟังก์ชัน
- มิฉะนั้นฟังก์ชันจะคืนค่า 0
- นอกฟังก์ชัน ผู้ใช้ป้อนค่าตัวเลขสองตัว
- เมธอดนี้เรียกโดยการส่งผ่านค่าทั้งสองนี้
- ผลลัพธ์จะแสดงบนคอนโซล