void main(){ void hanoi(int n,char one,char two,char three);int m;printf("input the number of diskes:");scanf("%d",&m);printf("The step to moveing %d diskes:\n",m);hanoi(m,'A','B','C');} void hanoi(int n,char one,char two,char three){ void move(char x...
void f(int n,char a,char b,char c){ if(n==1) move(a,c); else { f(n-1,a,c,b); move(a,c); f(n-1,b,a,c); }}void main(){ int n; scanf("%d",&n); f(n,'a','b','c'); }这是我的代码 前面的是定义一个函数 这里递归体现在函数里面还有函数 于是会一次又一次的计...
您好,可以这样 汉诺塔(Hanoi)是必须用递归方法才能解决的经典问题。它来自于印度神话。上帝创造世界时作了三根金刚石柱子,在第一根柱子上从下往上按大小顺序摞着64片黄金圆盘,如图7-3所示。上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放到第二根柱子上,并且规定,每次只能移动一个圆盘,在小圆盘...
我看你是不了解递归函数的具体是怎么实现的, 我给你举一个简单的例子: 就拿阶乘来说吧,我给你把具体实现的过程画出来 当n=0时,就一步一步返回。这一点很重要。希望对你有帮助。
scanf("%d",&m); printf("The step to moveing %d diskes:\n",m); hanoi(m,'A','B','C...