Thanks to visit codestin.com
Credit goes to www.tutorialspoint.com

Selected Reading

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 Animation

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 &plus; 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 &plus; 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