给定数字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