Java program to print Fibonacci sequence Recursive & Non Recursive

Share on FacebookTweet about this on TwitterDigg thisPin on PinterestShare on LinkedInShare on StumbleUponShare on TumblrShare on Google+Email this to someone

The Fibonacci sequence is defined by the following rule. The first 2 values in the sequence are 1, 1. Every subsequent value is the sum of the 2 values preceding it. Write a Java program that uses both recursive and non-recursive functions to print
the nth value of the Fibonacci sequence.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/*Non Recursive Solution*/
import java.util.Scanner;
class Fib {
	public static void main(String args[ ]) {
		Scanner input=new Scanner(System.in);
		int i,a=1,b=1,c=0,t;
		System.out.println("Enter value of t:");
		t=input.nextInt();
		System.out.print(a);
		System.out.print(" "+b);
		for(i=0;i<t-2;i++) {
			c=a+b;
			a=b;
			b=c;
			System.out.print(" "+c);
		}
		System.out.println();
		System.out.print(t+"th value of the series is: "+c);
	}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* Recursive Solution*/
import java.io.*;
import java.lang.*;
class Demo {
	int fib(int n) {
		if(n==1)
			return (1);
		else if(n==2)
			return (1);
		else
			return (fib(n-1)+fib(n-2));
	}
}
class RecFibDemo {
	public static void main(String args[])throws IOException {
		InputStreamReader obj=new InputStreamReader(System.in);
		BufferedReader br=new BufferedReader(obj);
		System.out.println("enter last number");
		int n=Integer.parseInt(br.readLine());
		Demo ob=new Demo();
		System.out.println("fibonacci series is as follows");
		int res=0;
		for(int i=1;i<=n;i++) {
			res=ob.fib(i);
			System.out.println(" "+res);
		}
		System.out.println();
		System.out.println(n+"th value of the series is "+res);
	}
}

Share on FacebookTweet about this on TwitterDigg thisPin on PinterestShare on LinkedInShare on StumbleUponShare on TumblrShare on Google+Email this to someone

10 Responses to “Java program to print Fibonacci sequence Recursive & Non Recursive”

  1. Thank you for your initiative to post this one it’s a great help for my Information Technology studies. thanks a lot.

    Reply
  2. Frank Isack

    import java.util.*;
    class Rabbit{
    int rabbit(int n) {
    if(n<=2){
    return 1;
    }
    else{
    return rabbit(n-1)+(n-2);
    }
    }

    public static void main(String[]args){
    Scanner gr = new Scanner(System.in);
    System.out.println("enter last n");
    int n = gr.nextInt();
    int F1=0,F2=0, res=1;
    System.out.println("fibonacci series is as follows");

    for(int i=1;i<n;i++) {
    F1=F2;
    F2=res;
    res=F1+F2;
    System.out.print(" "+res);
    }
    System.out.printf("\n");
    System.out.println(n+"th value of the series is "+res);
    }
    }

    Reply
  3. Avatar of Frank Nzoka

    //This program display the Fibonacci series in java language.

    import java.util.*;
    class Rabbit{
    int rabbit(int n) {
    if(n<=2){
    return 1;
    }
    else{
    return rabbit(n-1)+(n-2);
    }
    }
    public static void main(String[]args){
    Scanner gr = new Scanner(System.in);
    System.out.println("enter last n");
    int n = gr.nextInt();
    int F1=0,F2=0, res=1;
    System.out.println("fibonacci series is as follows");
    for(int i=1;i<n;i++) {
    F1=F2;
    F2=res;
    res=F1+F2;
    System.out.print(" "+res);
    }
    System.out.printf("\n");
    System.out.println(n+"th value of the series is "+res);
    }
    }

    ReplyReport user
  4. Sherlyne Pulminar

    public class Fibonacci {
    public static void main(String[]args){

    BufferedReader fibonacci=new BufferedReader(new InputStreamReader(System.in));

    try {
    int prev1=0,prev2=0,prev3=1;

    System.out.println(“Enter input:”);

    int num=Integer.parseInt(fibonacci.readLine());
    System.out.println(“Fabonacci”);

    for (int i=0;i<num;i++){
    System.out.println(prev3);

    prev1=prev2;
    prev2=prev3;
    prev3=prev1+prev2;

    }
    } catch (Exception e){
    System.out.print("Error");

    }
    }
    }

    Reply
  5. Edwin Waithanji

    Hey guys. Its Edwin, a new learner in java,please send me a Ms word document to explain the whole program that uses both recursive and non recursive functions to print the nth value of a Fibonacci sequence. I will appreciate

    Reply
  6. for(int i=1;i<=n;i++) {
    res=ob.fib(i);
    System.out.println(" "+res);
    }

    this is not recursive, we need one function to be called and it shoud be recursive.

    Reply

Leave a Reply