In mathematical terms, the sequence Fn of Fibonacci numbers is defined by the recurrence relation
Fn = Fn-1 + Fn-2
with seed values
F0 = 0 and F1 = 1.
Method 1 ( Use recursion ) :
def Fibonacci(n):
if n< 0 :
print ( "Incorrect input" )
elif n = = 1 :
return 0
elif n = = 2 :
return 1
else :
return Fibonacci(n - 1 ) + Fibonacci(n - 2 )
print (Fibonacci( 9 ))
|
Output:
21
Method 2 ( Use Dynamic Programming ) :
FibArray = [ 0 , 1 ]
def fibonacci(n):
if n< 0 :
print ( "Incorrect input" )
elif n< = len (FibArray):
return FibArray[n - 1 ]
else :
temp_fib = fibonacci(n - 1 ) + fibonacci(n - 2 )
FibArray.append(temp_fib)
return temp_fib
print (fibonacci( 9 ))
|
Output:
21
Method 3 ( Use Dynamic Programming with Space Optimization) :
def fibonacci(n):
a = 0
b = 1
if n < 0 :
print ( "Incorrect input" )
elif n = = 0 :
return a
elif n = = 1 :
return b
else :
for i in range ( 2 ,n):
c = a + b
a = b
b = c
return b
print (fibonacci( 9 ))
|
Output:
21
No comments:
Post a Comment
Your feedback is highly appreciated and will help us to improve our content.