Java斐波那契數列實例

在斐波那契數列中,下一個數字是前兩個數字的總和,例如:0,1,1,2,3,5,8,13,21,34,55等。斐波那契數列的前兩個數字是01,第三個數字是前兩個數字的和,也就是 0+1=1,所以這裏第三個數字的值是 1

在java中有兩種方式編寫斐波那契數列(fibonacci)程式:

  • 不使用遞歸實現斐波那契數列
  • 使用遞歸實現斐波那契數列

1. 不使用遞歸實現斐波那契數列

下麵讓我們來看看在不使用遞歸實現斐波那契數列的java程式。

class FibonacciExample1 {
    public static void main(String args[]) {
        int n1 = 0, n2 = 1, n3, i, count = 10;
        System.out.print(n1 + " " + n2);// printing 0 and 1

        for (i = 2; i < count; ++i)// loop starts from 2 because 0 and 1 are
                                    // already printed
        {
            n3 = n1 + n2;
            System.out.print(" " + n3);
            n1 = n2;
            n2 = n3;
        }

    }
}

執行上面代碼,得到如下結果 -

0 1 1 2 3 5 8 13 21 34

2. 使用遞歸實現斐波那契數列

下麵看看使用遞歸實現斐波那契數列的java程式。

class FibonacciExample2 {
    static int n1 = 0, n2 = 1, n3 = 0;

    static void printFibonacci(int count) {
        if (count > 0) {
            n3 = n1 + n2;
            n1 = n2;
            n2 = n3;
            System.out.print(" " + n3);
            printFibonacci(count - 1);
        }
    }

    public static void main(String args[]) {
        int count = 10;
        System.out.print(n1 + " " + n2);// printing 0 and 1
        printFibonacci(count - 2);// n-2 because 2 numbers are already printed
    }
}

執行上面代碼,得到如下結果 -

0 1 1 2 3 5 8 13 21 34

上一篇: Java基礎實例程式 下一篇: Java面向對象(OOP)概念