📜  Java的大斐波那契数

📅  最后修改于: 2021-05-04 23:37:13             🧑  作者: Mango

给定数字n,找到第n个斐波那契数。请注意,n可能很大。

例子:

Input : 100
Output : 354224848179261915075

Input : 500
Output : 139423224561697880139724382870
         407283950070256587697307264108962948325571622
         863290691557658876222521294125 

先决条件: Java的BigInteger类,斐波那契数
大量的斐波那契数可以包含100多个数字,它可以由Java的BigInteger轻松处理。 BigInteger类用于数学运算,该运算涉及非常大的整数计算,该计算超出了所有可用原始数据类型的限制。

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));
    }
}


输出
Fibonacci of 100th term is 354224848179261915075