(递归)汉诺塔
2013-10-29 22:20
225 查看
#include <iostream> using namespace std; /* 假定盘子的数目为n,为把最大的盘子放到y上,需要先把上面的n-1个移动到 z上,然后把z上的都移动到y上 */ int iCount = 0; void Hanoi(int n,char x,char y,char z) { if(n) { Hanoi(n-1,x,z,y); //x上n-1个移动到z上 cout<<"第"<<++iCount<<"步: "<<x<<" -> "<<y<<endl; //把最大的移动到y上 Hanoi(n-1,z,y,x); //把z上的n-1个移动到y上 } } int main() { Hanoi(5,'x','y','z'); return 0; }
相关文章推荐
- iOS开发-小知识(二)
- HDU3468:A Simple Problem with Integers(线段树区间更新+lazy)
- IOS7 新特性(针对同样讨厌更新后IOS7的开发者)
- [置顶] bzoj 1036 树的统计Count 点权值模板
- Python Cookbook学习记录 ch3_3/4_2013/10/29
- Sublime Text 配置使用总结(不断更新....)
- SPOJ 8222. Substrings(后缀自动机模板)
- All in All 找子串 水题
- 三国演义 ----感悟
- fcntl的区域锁定
- HDU1698:Just a Hook(线段树区间更新)
- spinner自定义,效果如腾讯QQ账号选择时候的下拉列表
- 写给大家的编程书(2)
- python 高级编程 一
- Codeforces Round #208 (Div. 2) Problem A - Dima and Continuous Line
- uva 10304 Optimal Binary Search Tree(区间dp)
- Android学习笔记_4_单元测试
- 阿里力推“来往”,公众账号或成突破口
- 人工智能发展的脉络图
- 软考(一)流水线