ফিবোনাচ্চি নম্বর: F₀=0, F₁=1, Fₙ=Fₙ₋₁+Fₙ₋₂। প্রথম কয়েকটি: 0,1,1,2,3,5,8,13,...
পদ্ধতি ১: রিকার্শন
def Fibonacci(n):
if n < 0:
print("Fibonacci can't be computed")
elif n == 1:
return 0
elif n == 2:
return 1
else:
return Fibonacci(n-1) + Fibonacci(n-2)
print(Fibonacci(10))
আউটপুট
34
পদ্ধতি ২: ডাইনামিক প্রোগ্রামিং (মেমোইজেশন)
Fib_Array = [0, 1]
def fibonacci(n):
if n < 0:
print("Fibonacci 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
print(fibonacci(10))
আউটপুট
34
উপসংহার
রিকার্শন (এক্সপোনেনশিয়াল টাইম) এবং ডাইনামিক প্রোগ্রামিং (লিনিয়ার টাইম) দিয়ে n-তম ফিবোনাচ্চি নম্বর বের করা।