在斐波那契数列中,下一个数字是前两个数字的总和,例如:0,1,1,2,3,5,8,13,21,34,55等。斐波那契数列的前两个数字是0和1,第三个数字是前两个数字的和,也就是 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
¥ 我要打赏 纠错/补充 收藏