Hanoi汉诺塔问题
2016-01-25 22:24
225 查看
古代有一个Hanoi塔,塔内有三个座a, b, c, 开始a 座上有n 个盘子,大的在下,小的在上。要求把n 个盘子从a 座搬到c 座,每次只能搬一个,并且在搬的过程中可以利用b 座,但要求始终保持大盘子在下,小盘子在上。编程打印搬盘子的步骤。
void hanoi(int n, char a, char b, char c) { if(n == 1) { cout<<a<<"->"<<c<<endl; } else { hanoi(n - 1, a, c, b); hanoi(1, a, b, c); hanoi(n - 1, b, a, c); } } int main() { int n = 3; hanoi(n, 'a', 'b', 'c'); }
相关文章推荐
- 阅读拾缀-RTSP流
- oc中在控件上显示图片
- MediaPlayer简单理解
- 一篇优秀的gdb的总结
- Hadoop源码编译
- 二叉搜索树
- 烂泥:智能DNS使用与配置
- 数据结构实现之有序符号表BinarySearchST(使用有序数组的二分查找)
- 归并排序-就地排序
- HDU 5611 Baby Ming and phone number(模拟)
- 输入一个数组,让所有奇数都在偶数前面
- eclipse 关于The APR based Apache Tomcat Native library警告
- POJ 2774 Long Long Message (后缀数组模板)
- 机器人操作系统ROS教程(三) ROS新手教程
- Selenium2(java)selenium常用API 四
- swustoj---258将军的书
- FZU 2150 Fire Game(dfs+bfs)
- 写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖(override),隐藏(hide)。在早期的C++书籍中,可能翻译的人不熟悉专业用语(也不能怪他们,他们不是搞计算机编程的,
- Nancy之基于Self Hosting的补充小Demo
- TestNG运作报错An interanl error occurred during:"Launching first"