汉诺塔Hanoi
来源:互联网 发布:php 二维数组取最大值 编辑:程序博客网 时间:2024/06/03 09:11
算法思路:
1.如果只有一个金片,则把该金片从源移动到目标棒,结束。
2.如果有n个金片,则把前n-1个金片移动到辅助的棒,然后把自己移动到目标棒,最后再把前n-1个移动到目标棒.
3.单纯对于有N个金片要挪动的步数求出, 可以使用递推方法,满足递推方程f(i) = f(i - 1) * 2 + 1.
1.如果只有一个金片,则把该金片从源移动到目标棒,结束。
2.如果有n个金片,则把前n-1个金片移动到辅助的棒,然后把自己移动到目标棒,最后再把前n-1个移动到目标棒.
3.单纯对于有N个金片要挪动的步数求出, 可以使用递推方法,满足递推方程f(i) = f(i - 1) * 2 + 1.
- class hanoi
- {
- private int i = 0;
- public int I
- {
- get { return i; }
- set { this.i = value; }
- }
- //---------核心到代码----------
- internal void HanoiMove(int n, char a, char b, char c)
- {
- if (n == 1)
- {
- i++;
- Move(n, a, c);
- //Console.WriteLine("第{0}个:{1}-------->{2}", n, a, c);
- }
- else
- {
- HanoiMove(n - 1, a, c, b);
- i++;
- Move(n, a, c);
- //Console.WriteLine("第{0}个:{1}--------------->{2}", n, a, c);
- HanoiMove(n - 1, b, a, c);
- }
- }
- private void Move(int n, char a, char c)
- {
- Console.WriteLine("第{0}个:{1}-------->{2}", n, a, c);
- }
- }
- 汉诺塔Hanoi
- 汉诺塔(hanoi)
- Hanoi--汉诺塔问题
- Hanoi汉诺塔问题
- C#图形界面汉诺塔Hanoi
- 汉诺塔 Hanoi 递归实现
- 经典问题-汉诺塔(hanoi)
- 汉诺塔(hanoi)
- Hanoi汉诺塔 问题
- Hanoi(汉诺塔问题)
- 汉诺塔(Hanoi Tower)
- Hanoi(汉诺塔)问题。
- 汉诺塔 Tower of Hanoi
- 汉诺塔 hanoi 如此简单
- Hanoi汉诺塔问题
- Hanoi(汉诺塔)问题
- hanoi(汉诺塔)问题
- 汉诺塔 hanoi 递归
- 用links方式安装eclipse插件,路径中不能有中文
- typedef和#define
- 变参函数的实现
- 广域网协议
- windows2008已激活
- 汉诺塔Hanoi
- 监控软件
- 关键字class与struct
- 类型转换
- 使用spring模板查询引起的一系列插曲
- 位域
- Open courses
- 五个最佳媒体格式转换器
- [book][0001]Mathematics for 3D Game Programming and Computer Graphics