用递归解决汉诺塔问题
2015-09-30 14:14
417 查看
/************************************************************************ 功能:解决汉诺塔问题 说明:递归算法解 作者:nicehuai 日期:2015/2/2 *************************************************************************/ #include<iostream> #include<cstdio> using namespace std; void hannoi(int n,char A,char B,char C); void move(int n,char A,char B); long long count ; int main() { int n; count = 1; cin>>n; hannoi(n,'A','B','C'); return 0; } void hannoi(int n,char A,char B,char C) //递归求汉诺塔问题 { if(n == 1) move(1,A,C); else { hannoi(n-1,A,C,B); move(n,A,C); hannoi(n-1,B,A,C); } } void move(int n,char A,char B) //每步移动的提示 { //printf("move %d from %c to %c\n",n,'A','B'); cout<<"step:"<<count++<<" move "<<n<<" from "<<A<<" to "<<B<<endl; }
相关文章推荐
- 指针和const
- 独立程序员如何赚钱致富
- hive全排序优化
- 揭开 SuperMap GIS 8C“Alpha通道”的神秘面纱
- eclipse中使用Jena解析本体文件
- 单个jetty 8.1.17跑多个应用的分析过程(分别用独立端口独立进程)
- hive 中的排序优化
- android ViewPager滑动事件讲解
- fat32结构图
- nodejs vim 配置
- Linked List Cycle II
- 让浏览器不加载缓存CSS和JS的方法
- Qt Creator: Interrupt/Exception caught code = 0xc00000fd
- LINUX文件权限
- 第11章 模块
- nil、Nil、NULL和NSNull的区别
- 高精度 高分辨率 计时函数 Linux
- sql数据库设计学习---数据库设计规范化的五个要求
- 信息过滤与反垃圾
- 软考与职称