一、汉诺塔问题
1.1 问题描述
三根柱子,其中一根柱子从上到下依次摆放着从小到大的圆盘:
- 每次只能移动一个圆盘
- 并且大圆盘不能在小圆盘之上
- 需要把这个柱子上的圆盘全部移动到另一根柱子上
问题抽象为,把a柱子上的N个圆盘按照顺序摆放到柱子c上:
1.2 问题解决
可以吧解决步骤抽象成:
1. 将N-1个圆盘从a移动到b
2. 把第N个圆盘从a移动到c
3. 把N-1个圆盘从b移动到c
1.3 代码实现
//n个圈从left移动到right
void hanNoTa(int n,char left,char right,char mid){
if(n){
hanNoTa(n-1,left,mid,<