Open In App

Large Fibonacci Numbers in Java

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Given a number n, find n-th Fibonacci Number. Note that n may be large.

Examples:

Input : 100
Output : 354224848179261915075

Input : 500
Output : 139423224561697880139724382870
         407283950070256587697307264108962948325571622
         863290691557658876222521294125 

Prerequisite: BigInteger Class in Java, Fibonacci numbers
Fibonacci of large number may contain more than 100 digits, it can be easily handled by BigInteger in Java. BigInteger class is used for the mathematical operation which involves very big integer calculations that are outside the limit of all available primitive data types.

JAVA




// Java program to compute n-th Fibonacci
// number where n may be large.
import java.io.*;
import java.util.*;
import java.math.*;
  
public class Fibonacci
{
    // Returns n-th Fibonacci number
    static BigInteger fib(int n)
    {
        BigInteger a = BigInteger.valueOf(0);
        BigInteger b = BigInteger.valueOf(1);
        BigInteger c = BigInteger.valueOf(1);
        for (int j=2 ; j<=n ; j++)
        {
            c =  a.add(b);
            a = b;
            b = c;
        }
  
        return (b);
    }
  
    public static void main(String[] args)
    {
        int n = 100;
        System.out.println("Fibonacci of " + n +
            "th term" + " " +"is" +" " + fib(n));
    }
}


Output

Fibonacci of 100th term is 354224848179261915075

Note that the above solution takes O(n) time, we can find the n-th Fibonacci number in O(log n) time. As an exercise, find the n-th Fibonacci number for large n in O(log n) time.
This article is contriBigInteger.valueOf (1);but by Pramod Kumar. See your article appearing on the GeeksforGeeks’ main page and help other Geeks.

 


Last Updated : 20 Oct, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads