如何获得一个非常长的Fibonacci数Java的索引

时间:2015-03-30 18:09:06

标签: java biginteger fibonacci

我是编程尝试练习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")。请有人帮帮我

0 个答案:

没有答案