ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีแก้ปัญหาและแนวทางแก้ไขปัญหาที่กำหนด
คำชี้แจงปัญหา −งานของเราในการคำนวณเลขฟีโบนักชีที่ 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
ตัวแปรทั้งหมดถูกประกาศในขอบเขตสากลดังแสดงในภาพด้านล่าง

บทสรุป
ในบทความนี้ เราได้เรียนรู้เกี่ยวกับวิธีการคำนวณตัวเลขฟีโบนักชี