Fibonacci方法按顺序返回第n个数字

时间:2014-04-04 20:43:44

标签: java loops methods return fibonacci

我需要创建一个返回fibonacci系列中第n个整数的方法,我写的代码在表格中打印时返回系列中的第二个整数。该方法中使用的int fib是行号乘以列号,你能帮帮忙吗?

private int fibonacci(int fib){
    int a = 1, b = 1;
    while(a < fib){
        b+=a+=b;
    }
    return b+=a+=b;
}

private int fibonacci(int fib){
    int fibn = 0;

    fibn =(int)((Math.pow((1+Math.sqrt(5)), fib)-Math.pow((1-Math.sqrt(5)), fib))/(Math.pow(2,  fib)*Math.sqrt(5)));

    return fibn;
}



   *    |   1   2   3   4   5
--------------------------------
   1    |   1   1   2   3   5
   2    |   1   3   8  21  55
   3    |   2   8  34 144 610
   4    |   3  21 144 9876765

1 个答案:

答案 0 :(得分:1)

尝试此代码,例如:

public class Fibonacci {
    public static void main(String[] args) {
        int n = 15, a = 1, b = 1;
        System.out.print(a + " " + b);
            for(int i =3; i < n; i++) {
            b = a + b;
            a = b - a;
            System.out.print(" " + b);
        }
    }
}

这给出了输出:

1 1 2 3 5 8 13 21 34 55 89 144 233 377