在斐波那契数列中,下一个数字是前两个数字的总和,例如: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
上一篇:
Java基础实例程序
下一篇:
Java面向对象(OOP)概念