如何到达 JAVA 中的第 92 个斐波那契数列之后?

How to reach after 92nd fibonacci numbers in JAVA?

我想得到 JAVA 中的第 93 个和更多的斐波那契数列。事实上,当我尝试将斐波那契数作为 long 时,我最多得到第 92 个数。有什么方法可以达到第 93 名及之后?

示例输出

91. number= 4660046610375530309

92. number= 7540113804746346429

93. number= -6246583658587674878

这是我的代码:

    long s1 = 0;
    long s2 = 1;
    long current = 0;

    for (int i = 0; i < 100; i++) {
        current = s1 + s2;
        s2 = s1;
        s1 = current;

        System.out.println((i+1) + ". " + current);
    }

有一种方法可以达到第 93 个及之后的斐波那契数。您可以使用 java.math.BigInteger 库。您可以达到您无法想象的 100.000 位数字。以下是步骤:

添加库

import java.math.BigInteger;

前 10.000 个斐波那契数

BigInteger s1 = BigInteger.ZERO;
BigInteger s2 = BigInteger.ONE;
BigInteger current = BigInteger.ZERO;

for (int i = 0; i < 10000; i++) {
    current = (s1.add(s2));
    s2 = s1;
    s1 = current;
    System.out.println((i+1) + ". " + current);
}

您可以使用 BigInteger. Take a look at .

例如:

public static BigInteger fib(int n) {
  if (n == 0 || n == 1) {
    return BigInteger.ONE;
  }
  return fib(n - 2).add(fib(n - 1));
}

public static void main(String[] args) {
  for (int i = 0; i < 10; i++) {
    System.out.println(fib(i));
  }
}