标题:hanoi 难以理解
只看楼主
bianchengfeng
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2008-3-1
 问题点数:0 回复次数:4 
hanoi 难以理解
/*  HELLO.C -- Hello, world */

#include "stdio.h"
#include "conio.h"
int t=0;
void move(char x,char y)
{
    printf("%c-->>%c\n",x,y);
}
 void hanoi(int n,char a,char b,char c)
{    if(n==1)
         {move(a,c);  t++ ;  }
    else
    {
        hanoi(n-1,a,c,b);
        {move(a,c); t++;      }
        hanoi(n-1,b,a,c);
    }
}


void main()
{
    int n;
    printf("input a num\n");
    scanf("%d",&n);
    hanoi(n,'A','B','C');
    printf("s=%d\n",t);
    getch();
}
搜索更多相关主题的帖子: hanoi 
2008-08-06 13:19
xujun1207
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2008-7-15
得分:0 
void hanoi(int n,char a,char b,char c)
这句我也是不明……期待?
2008-08-06 13:25
bianchengfeng
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2008-3-1
得分:0 
汉诺塔问题
n就是移动盘子的个数
char a,char b,char c
是3个盘座

[[it] 本帖最后由 bianchengfeng 于 2008-8-6 13:43 编辑 [/it]]
2008-08-06 13:32
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
得分:0 
hanoi(n,'A','B','C');
将n个盘子,借助于B柱,从A柱移到C柱。

hanoi(n-1,a,c,b);
将n-1个盘子,借助于c柱,从a柱移到b柱。
2008-08-06 14:17
hoststar
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-8-6
得分:0 
[bo][un]woshiyun[/un] 在 2008-8-6 14:17 的发言:[/bo]

hanoi(n,'A','B','C');
将n个盘子,借助于B柱,从A柱移到C柱。

hanoi(n-1,a,c,b);
将n-1个盘子,借助于c柱,从a柱移到b柱。

正解。
2008-08-06 14:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-227022-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.042675 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved