递归

递归(效率低)

不断调用自己


斐波那契数列

第三个数开始是前两个数之和


汉诺塔(递归)

所有问题都考虑成一个盘子和两个盘子的情况!!!!!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class TestHanoi {
public static void main(String[] args) {
han(3,'A','B','C'); //3个盘子
}

//n个盘子 从A通过B传到C
public static void han(int n,char A,char B,char C){

if(n==1) {
System.out.println("第一个盘子从"+A+"移到"+C);
}

else {
//移动上面所有的盘子到中间位置(最后一个它自己走上面的方法从A->C)
han(n-1,A,C,B);
System.out.println("第"+n+"个盘子从"+A+"移到"+C);
//把上面的所有盘子从中间位置移到目标位置
han(n-1,B,A,C); //把B上面的盘子通过A全部放到C去
}

}

}

以三个盘子为例:


×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 递归(效率低)
  2. 2. 斐波那契数列
  3. 3. 汉诺塔(递归)
,