ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีแก้ปัญหาและแนวทางแก้ไขปัญหาที่กำหนด
คำชี้แจงปัญหา −งานของเราในการคำนวณเลขฟีโบนักชีที่ n
ลำดับ Fn ของตัวเลขฟีโบนักชีถูกกำหนดโดยความสัมพันธ์ที่เกิดซ้ำด้านล่าง
Fn =Fn-1 + Fn-2
ด้วยค่าเมล็ด (มาตรฐาน)
F0 =0 และ F1 =1
เรามีวิธีแก้ปัญหาที่เป็นไปได้สองวิธี
- แนวทางแบบเรียกซ้ำ
- แนวทางไดนามิก
แนวทางที่ 1 −แนวทางแบบเรียกซ้ำ
ตัวอย่าง
#recursive approach def Fibonacci(n): if n<0: print("Fibbonacci can't be computed") # First Fibonacci number elif n==1: return 0 # Second Fibonacci number elif n==2: return 1 else: return Fibonacci(n-1)+Fibonacci(n-2) # main n=10 print(Fibonacci(n))
ผลลัพธ์
34
ตัวแปรทั้งหมดถูกประกาศในขอบเขตสากลดังแสดงในภาพด้านล่าง
แนวทางที่ 2 −แนวทางแบบไดนามิก
ตัวอย่าง
#dynamic approach Fib_Array = [0,1] def fibonacci(n): if n<0: print("Fibbonacci can't be computed") elif n<=len(Fib_Array): return Fib_Array[n-1] else: temp = fibonacci(n-1)+fibonacci(n-2) Fib_Array.append(temp) return temp # Driver Program n=10 print(fibonacci(n))
ผลลัพธ์
34
ตัวแปรทั้งหมดถูกประกาศในขอบเขตสากลดังแสดงในภาพด้านล่าง
บทสรุป
ในบทความนี้ เราได้เรียนรู้เกี่ยวกับวิธีการคำนวณตัวเลขฟีโบนักชี