题目描述
有三根杆子A,B,C。A杆上有N个(N>1)穿孔圆环,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:
- 每次只能移动一个圆盘;
- 大盘不能叠在小盘上面。
提示:可将圆盘临时置于B杆,也可将从A杆移出的圆盘重新移回A杆,但都必须遵循上述两条规则。
问:怎么移?最少要移动多少次?
输入
一个整数 n ,代表汉诺塔层数 (n<=10)
输出
移动的方式和最少需要的步数
样例输入
1 | 3 |
样例输出
1 | 移动圆盘:1从盘a到盘c |
题解
1 | #include<stdio.h> |
有三根杆子A,B,C。A杆上有N个(N>1)穿孔圆环,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:
提示:可将圆盘临时置于B杆,也可将从A杆移出的圆盘重新移回A杆,但都必须遵循上述两条规则。
问:怎么移?最少要移动多少次?
一个整数 n ,代表汉诺塔层数 (n<=10)
移动的方式和最少需要的步数
1 | 3 |
1 | 移动圆盘:1从盘a到盘c |
1 | #include<stdio.h> |