【发布时间】:2018-01-28 22:02:10
【问题描述】:
您好所有初学者程序员,在没有递归的情况下很难计算斐波那契数列。
我的主要问题是使用BigInteger。这是我的代码:
import java.math.BigInteger;
public class Fibonacci
{
public void fibonacci(int n)
{
int[] arr = new int[n + 1];
arr[0] = 0;
arr[1] = 1;
arr[2] = 1;
for(int i = 3; i <= n; i++)
{
arr[i] = arr[i-1] + arr[i-2];
}
System.out.println(arr[n]);
}
}
这是我的 man 方法测试器
public class TestFibonacci
{
public static void main(String[] args)
{
Fibonacci f1 = new Fibonacci();
f1.fibonacci(3);
f1.fibonacci(10);
f1.fibonacci(20);
f1.fibonacci(30);
f1.fibonacci(40);
f1.fibonacci(50);
f1.fibonacci(60);
f1.fibonacci(100);
}
}
在我开始得到负数后,我当前的输出最高可达 40,有什么提示吗??
2
55
6765
832040
102334155
-298632863
1820529360
-980107325
【问题讨论】:
-
你没有在这里使用 BigInteger,所以?
-
你在哪里使用
BigInteger?