概述
用递归求斐波那契数列的第N项。
斐波那契数列: 1 1 2 3 5 8 ……
f(n) = f(n-1) + f(n-2)
代码
public class P19 {
public static int fibnacio(int n) {
if (n == 1 || n == 2) {
return 1;
}
int tmp = fibnacio(n-1) + fibnacio(n-2);
return tmp;
}
public static void main(String[] args) {
System.out.println(fibnacio(1)); //1
System.out.println(fibnacio(2)); //1
System.out.println(fibnacio(3)); //2
System.out.println(fibnacio(4)); //3
System.out.println(fibnacio(5)); //5
}
}
执行过程
如:斐波那契第4项
由此可以看出,斐波那契不适合用递归来算,太冗余了。