我是编程尝试练习java的初学者,遇到了这个问题(http://www.codeabbey.com/index/task_view/fibonacci-sequence)。它询问某个斐波那契数的索引。这就是我的原始代码
public static int fibonacciSequence(long n){
int i = 1;
long num1 = 0;
long num2 = 1;
while (num2 != n){
long tempnum = num1;
num1 = num2;
num2 = tempnum + num2;
i++;
if (n == 0){
i = 0;
}
}
return i;
}
检查检查斐波那契数的索引非常有用,但是一些样本数据确实很长。
SampleData(" 60859646305146968781682860639833937855759700810919961259581748822691123490204305816372672244917896824842888612853501101254034489979476227")并且eclipse需要很长时间才能解决问题。我找到了这个代码
public static int fibIndex(long n) {
return (int) Math.round(Math.log(n * Math.sqrt(5))/Math.log(1.618));
}
但似乎无法使其发挥作用。我在这里阅读使用BigInterger但我似乎无法在我的代码上实现它。 顺便说一下这是一个javascript代码(" Index of a really big Fibonacci Number")。请有人帮帮我