Friday, 8 July 2016

Fibonacci series program in Java

Fibonacci series is series of natural number where next number is equivalent to the sum of previous two numbers i.e. fn = fn-1 + fn-2. The first two numbers of Fibonacci series are always 1 and 1.

Fibonacci series Java program can be written either using recursive logic or iterative logic. In this post we'll see Java programs for both.

Fibonacci using recursion

If you are using recursive logic then you have to call the same method with both n-1 and n-2 where n is the passed number. If you want Fibonacci series to have only one number then it would be 1, if you want two numbers then it would be 1, 1. So n=1 and n=2 are the base cases for recursive program.

import java.util.Scanner;

public class Fibonacci {

 public static void main(String[] args) {
  Scanner input = new Scanner(System.in);
   //user input
        System.out.println("Enter how many numbers are needed in Fibonacci series: ");
        int num = input.nextInt();
        for(int i = 1; i <= num; i++){
         System.out.print(printFibonacci(i) + " ");
        }
        input.close();
 }
 
 
 
 private static int printFibonacci(int num){
  //exit condition 
  if(num == 1 || num == 2){
   return 1;
  }
  return printFibonacci(num - 1) + printFibonacci(num - 2);
 }

}

Output

Enter how many numbers are needed in Fibonacci series : 
12
1 1 2 3 5 8 13 21 34 55 89 144 

Fibonacci using iteration

In Fibonacci series next number is the sum of previous two numbers. Iterative program uses the same logic by taking three variables, in a for loop you first print the number and then move one step forward by assigning the previous two numbers to two of the variables and assigning the sum of these two variables to the third variable.

import java.util.Scanner;

public class FibonacciItr {

 public static void main(String[] args) {
  Scanner input = new Scanner(System.in);
  //user input
  System.out.println("Enter how many numbers are needed in Fibonacci series: ");
  int num = input.nextInt();
  printFibonacci(num);
  input.close();

 }
 
 private static void printFibonacci(int num){
  int num1, num2 = 0;
  int num3 = 1;
  for(int i = 1; i <=num;i++){
   System.out.print(num3+" ");
   num1 = num2;
   num2 = num3;
   num3 = num1 + num2;
  }
 }
}

Output

Enter how many numbers are needed in Fibonacci series: 
14
1 1 2 3 5 8 13 21 34 55 89 144 233 377 

That's all for this topic Fibonacci series program in Java. If you have any doubt or any suggestions to make please drop a comment. Thanks!


Related Topics

  1. Factorial program in Java
  2. Displaying prime numbers - Java program
  3. Print odd-even numbers using threads and wait-notify
  4. Armstrong number
  5. How to display pyramid patterns in Java

You may also like -

>>>Go to Java Programs page

No comments:

Post a Comment