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)概念