Fibonacci Series Using Recursion
Fibonacci Series Using Recursion
Fibonacci series generates the subsequent number by adding two previous numbers. Fibonacci series starts from two numbers F0 & F1. The initial values of F0 & F1 can be taken 0, 1 or 1, 1 respectively.Fibonacci series satisfies the following conditions −
Fn = Fn-1 + Fn-2
Hence, a Fibonacci series can look like this −
F8 = 0 1 1 2 3 5 8 13
or, this −
F8 = 1 1 2 3 5 8 13 21
For illustration purpose, Fibonacci of F8 is displayed as −
Fibonacci Iterative Algorithm
First we try to draft the iterative algorithm for Fibonacci series.
Procedure Fibonacci(n)
declare f0, f1, fib, loop
set f0 to 0
set f1 to 1
<b>display f0, f1</b>
for loop ← 1 to n
fib ← f0 + f1
f0 ← f1
f1 ← fib
<b>display fib</b>
end for
end procedure
Fibonacci Recursive Algorithm
Let us learn how to create a recursive algorithm Fibonacci series. The base criteria of recursion.
START
Procedure Fibonacci(n)
declare f0, f1, fib, loop
set f0 to 0
set f1 to 1
display f0, f1
for loop ← 1 to n
fib ← f0 + f1
f0 ← f1
f1 ← fib
display fib
end for
END
Example
Following are the implementations of the above approach in various programming languages −
#include <stdio.h>
int fibbonacci(int n) {
if(n == 0){
return 0;
} else if(n == 1) {
return 1;
} else {
return (fibbonacci(n-1) + fibbonacci(n-2));
}
}
int main() {
int n = 5;
printf("Number is: %d", n);
printf("\nFibonacci series upto number %d are: ", n);
for(int i = 0;i<n;i++) {
printf("%d ",fibbonacci(i));
}
}
Output
Number is: 5 Fibonacci series upto number 5 are: 0 1 1 2 3
// C++ Code for Fibonacci series
#include <iostream>
using namespace std;
int fibbonacci(int n) {
if(n == 0){
return 0;
} else if(n == 1) {
return 1;
} else {
return (fibbonacci(n-1) + fibbonacci(n-2));
}
}
int main() {
int n = 5;
cout<<"Number is: "<<n;
cout << "\nFibbonacci series upto number "<<n<< " are: ";
for(int i = 0;i<n;i++) {
cout << fibbonacci(i) << " ";
}
}
Output
Number is: 5 Fibbonacci series upto number 5 are: 0 1 1 2 3
// Java Code for Fibonacci series
public class Fibonacci {
public static int fibonacci(int n) {
if (n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
public static void main(String[] args) {
int n = 5;
System.out.print("Number is: " + n);
System.out.print("\nFibonacci series upto number " + n + ": ");
for (int i = 0; i < n; i++) {
System.out.print(fibonacci(i) + " ");
}
}
}
Output
Number is: 5 Fibonacci series upto number 5: 0 1 1 2 3
#Python code for fibonacci Series
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
if __name__ == "__main__":
n = 5
print("Number is ", n)
print("Fibonacci series upto number ",n, "are: ")
for i in range(n):
print(fibonacci(i) , end = " ")
Output
Number is 5 Fibonacci series upto number 5 are: 0 1 1 2 3
Advertisements