Fibonacci序列的递归二叉树类和反向

时间:2015-07-12 12:29:10

标签: java

public class MyFibonacci {

    public static void main(String a[]){

         int febCount = 15;
         int[] feb = new int[febCount];
         feb[0] = 0;
         feb[1] = 1;
         for(int i=2; i < febCount; i++){
             feb[i] = feb[i-1] + feb[i-2];
         }

         for(int i=0; i< febCount; i++){
                 System.out.print(feb[i] + " ");
         }
    }
}

我需要添加什么才能反转印刷的fiboonaci系列?

3 个答案:

答案 0 :(得分:0)

这是你得到的序列

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

要恢复它,您可以从最后两个数字(377和233)开始,然后计算下一个减去而不是添加

377, 233, (377-233), ...
377, 233, 144, (233-144), ...

类似这样的事情

Main() {
    int febCount = 15;
    int[] feb = new int[febCount];
    feb[0] = 0;
    feb[1] = 1;
    for(int i=2; i < febCount; i++){
        feb[i] = feb[i-1] + feb[i-2];
    }

    for(int i=0; i< febCount; i++){
            System.out.print(feb[i] + " ");
    }

    System.out.println();
    feb[0] = feb[14];
    feb[1] = feb[13];
    for(int i=2; i < febCount; i++){
        feb[i] = feb[i-2] - feb[i-1];
    }

    for(int i=0; i< febCount; i++){
            System.out.print(feb[i] + " ");
    }
}

答案 1 :(得分:0)

也许,你可以向后遍历数组

for(int i = febCount - 1; i >= 0; i--) {
    System.out.print(feb[i]);
    if (i > 0) {
        System.out.print(" ");
    }
}
System.out.println();

答案 2 :(得分:0)

打印整数时,您可以向后遍历数组。

for(int i = febCount - 1; i >= 0; i--){
    System.out.print(feb[i] + " ");
}