如何到达 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));
}
}
我想得到 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));
}
}