#include<iostream>
using namespace std;
void hnt(int,char,char,char);
int main(){
char a='A',b='B',c='C';
int n=3;
hnt(n,a,b,c);
}
void hnt(int n,char a,char b,char c){//把n个盘子从a->c,借用b
if(n==1){
cout<<n<<"th disk from"<<a<<"to"<<c<<endl;
}else{
hnt(n-1,a,c,b);
cout<<n<<"th disk from"<<a<<"to"<<c<<endl;
//(1)把第n个盘子从a->c;
//(2)从n->n-1个盘子的递归*/
hnt(n-1,b,a,c);//开始第n-1个盘子的递归
}
}
相关推荐
这是一个汉诺塔的C语言实验代码,通过它有助于我们更好的理解算法设计与分析问题
汉诺塔源程序算法 汉诺塔源程序算法 汉诺塔源程序算法 汉诺塔源程序算法
这是个汉诺塔程序,在调试的时候,输入的数字最好不要大于15,因为每大一个数 所得的结果的步骤都会多一倍。如果你有耐心等待结果的话除外。汉诺塔是在欧洲 流行的一种游戏,有a,b,c三个竿。a竿上有若干个由大到小的...
用C++实现汉诺塔的递归算法,定义了类和方法。
网上看来的,比较详细。包含了递归以及不用递归的代码。 C和C++版的都有。
双色汉诺塔是由之前所介绍过的汉诺塔规则衍生而来。 盘子的颜色有两种
//程序实现了mystack栈的声明和定义,并且通过函数 //move_stacks的递归调用和函数move_a_ring实现汉 //诺塔的算法,并用函数print_stacks和pr_chars实现汉诺 //塔的动画效果
算法分析设计中三柱汉诺塔算法的拓展,四柱汉诺塔的设计算法代码
汉诺塔问题C/C++;解决汉诺塔问题的算法;递归
汉诺塔——经典的递归 *实现移动函数 *递归实现汉诺塔函数
采用C++ Buidler开发环境,C++ 语言,结合线程技术,将经典的汉诺塔算法的执行过程动态的演示出来,对于用户理解汉诺塔算法产生巨大的帮助
算法实现与复杂度,排序算法,汉诺塔问题,角谷猜想
汉诺塔递归算法: 问题抽象 3个塔,n个碟子 初始:所有碟子放在1号塔,大的在底下,小的在上面 任务:把碟子移动到2号塔,顺序不变, 可用3号塔辅助 限制 每次只能移动一个碟子 总是大碟子...
这个程序是汉诺塔算法的可视化软件,如果在学习这个算法但是始终搞不清时可以使用这个软件帮助理解。
递归算法的汉诺塔问题实现ppt,较详细得解释了递归算法的使用以及如何用递归算法来解决汉诺塔问题,QAQ
我用vc编了一个用栈实现汉诺塔的非递归程序。可以运行的,里面代码作了说明的!
用C语言实现汉诺塔的递归算法,另外还有用栈来实现的方式:http://download.csdn.net/detail/jason19905/6419427
很直观的动画演示,不过没有源代码,感兴趣的可以载下去看看,1分
程序设计 汉诺塔算法演示