2.15 递归和斐波那契
递归:
- 在一个方法(函数)的内部调用该方法(函数)本身的编程方式
代码举例递归:
TestRecursive类
public class TestRecursive {
public static void main(String[] args) {
print(3);
}
public static void print(int i){
if(i > 0){
System.out.println(i);
print(i - 1);
}
}
}
输入3,结果:
画图理解递归:
递归实例:斐波那契
TestFebonacci类
package main.java.com.LiKou.recursive;
public class TestFebonacci {
public static void main(String[] args) {
//斐波那契数列1 1 2 3 5 8 13
for(int i = 1; i <= 20; i++){
System.out.print(febonacci(i) + " ");
if(i % 5 == 0){
System.out.println();
}
}
}
//打印第n项斐波那契数列
public static int febonacci(int i){
if(i == 1 || i == 2){
return 1;
}else {
return febonacci(i - 1) + febonacci(i - 2);
}
}
}