【发布时间】:2016-01-25 02:45:06
【问题描述】:
在斐波那契数列中,每一项都是前两项之和。
fibonacci(1) == 1, fibonacci(0) == 0;
fibonacci(2) = fibonacci(1) + fibonacci(0);
...
在网上搜索后,我找到了这个算法来解决:
这是我的代码:
import java.math.BigInteger;
public class Fibonacci {
public static BigInteger fib(BigInteger n) {
double p = (1 + Math.sqrt(5)) / 2;
double q = (1 - Math.sqrt(5) / 2;
BigInteger result = BigInteger.ZERO;
result = ( Math.pow(p, n) - Math.pow(q, n) ) / Math.sqrt(5); //error
return result;
}
}
如何解决这个错误,我要参数是BigInteger,不是Integer,返回的数字也是BigInteger。
【问题讨论】:
-
无重复,请从我的问题再考虑。
-
How to solve that error- 哪个那个错误?回避怎么办?您首先要实现什么目标? -
我的代码中的错误,Math.pow(parameter 1, parameter 2)
-
我很好奇你在哪里找到了斐波那契数列的公式。我从来没有见过这样表达的。有链接吗?