PKU《程序设计》专项课程_递归汉诺塔问题
2015-09-08 17:28
323 查看
取自coursera.org上公开课北京大学《C程序设计进阶》
递归调用注意的点
1.关注点放在求解的目标上,递推是,目标放在开头
2.找到第N次和第(N-1)次之间的关系,通项公式
3.给出边界(比如第1次执行结果,斐波那契数列是第1次和第2次结果)
递归调用注意的点
1.关注点放在求解的目标上,递推是,目标放在开头
2.找到第N次和第(N-1)次之间的关系,通项公式
3.给出边界(比如第1次执行结果,斐波那契数列是第1次和第2次结果)
#include <iostream> using namespace std; void move(int m,char x, char y,char z) { if(m==1) { cout<<"把一个盘子从"<<x<<"移动到"<<z<<endl; }else{ move(m-1,x,z,y); cout<<"把一个盘子从"<<x<<"移动到"<<z<<endl; move(m-1,y,x,z); } } //主函数 int main() { int n; cout<<"请输入盘子数:"; cin>>n; move(n, 'A','B','C'); return 0; }
相关文章推荐
- 深入解析HTML5中的Blob对象的使用
- Java多线程初学者指南(1):线程简介
- p2p打洞原理
- 算法学习日记
- 低版本升级HANA到SPS8及以上之前要处理的问题
- Flatten Binary Tree to Linked List
- PYTHON调用JENKINS的API来进行CI
- hdu1754:I Hate It
- ThinkPHP函数详解:C方法
- Linux系统裁剪(3)之动态增加Linux模块
- 从大神代码中学习CAAnimation
- Git 使用说明
- Hibernate – Many-to-Many example (Annotation)
- 使用layer-list实现单个方向或指定方向描边
- PHP执行exec调用svn up时候失败问题
- 字体超出 显示...
- Winform 让跨线程访问变得更简单
- HDU 1164 Eddy's research I
- Sublime Text 3 快捷键总结
- C语言中常用的库函数