【C语言】递归 - 汉诺塔
来源:互联网 发布:小说阅读网软件 编辑:程序博客网 时间:2024/06/10 09:27
汉诺塔:汉诺塔(Hanoi Tower)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
#include <stdio.h>void hanoi(int n, char a, char b, char c){ if (n > 0) { hanoi(n - 1, a, c, b);//将第1...n-1个圆盘从A移到B printf("Moving %d: %c -> %c\n", n, a, c);//将第n个圆盘(最大的)从A移到C hanoi(n - 1, b, a, c);//将第1...n-1个圆盘从B移到C }}void main(){ int n; printf("Please input the number of hanoi tower : "); scanf_s("%d", &n); hanoi(n, 'A', 'B', 'C');//目的:将n个圆盘从A移到C system("pause");}
0 0
- 【C语言】递归 - 汉诺塔
- 汉诺塔递归的c语言实现(递归)
- C语言汉诺塔--递归算法
- 算法思考--------汉诺塔c语言实现-------递归
- 汉诺塔--c语言递归问题
- 程序设计C语言-递归(汉诺塔)
- 递归实战(1)汉诺塔C语言实现
- 汉诺塔递归C语言代码实现
- C语言经典-----汉诺塔(递归)
- c语言 递归算法解决汉诺塔问题
- C语言 阶乘递归
- C语言之递归
- C语言 -- 递归学习
- C语言递归练习
- C语言递归
- 【C语言】递归实现。
- C语言实现-递归
- c语言递归函数
- 设计模式之开篇---面向对象的六大原则
- 使用python进行汉字与二进制之间的转换
- Python Challenge 0-9
- JSTL表达式与EL表达式用法*更新版*
- 总线设备驱动模型---platform篇
- 【C语言】递归 - 汉诺塔
- C#练习--实现超市购物结算
- 集合与数组之间的相互转换
- 【CJOJ P1957】【NOIP2010冲刺十模拟赛】数字积木
- android 应用对内存是如何限制的?我们应该如何合理使用内存?如何限制的?
- apache服务器安装虚拟机
- 序列合并(codevs1245 最小的N个和)
- 文字排版--字体
- C#中利用委托实现多线程跨线程操作