| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 630 人关注过本帖
标题:求解,hanoi问题
只看楼主 加入收藏
hanucvb
Rank: 2
等 级:论坛游民
帖 子:26
专家分:23
注 册:2011-9-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
求解,hanoi问题
# include <stdio.h>
int 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 move %d diskes:\n",m);
    hanoi(m,'a','b','c');
}

void hanoi(int n,char one,char two,char three)
{
    void move (char x,char y);
    if ( n == 1)
        move (one ,three);
    else
    {
        hanoi(n-1,one, three, two);
        move(one,three);
        hanoi(n-1, two, one, three);
    }
}

void move (char x, char y)
{
    printf("%c-->%c\n",x,y);
}

我看不懂
 else
    {
        hanoi(n-1,one, three, two);
        move(one,three);
        hanoi(n-1, two, one, three);
    }
是怎么执行下去
怎么个递归法。
搜索更多相关主题的帖子: number include three input 
2011-10-02 17:47
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:10 

My life is brilliant
2011-10-02 19:35
hanucvb
Rank: 2
等 级:论坛游民
帖 子:26
专家分:23
注 册:2011-9-21
收藏
得分:0 
回复 2楼 lz1091914999
我是新手,那个我看不懂!!

谢谢了!!
2011-10-02 20:33
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:10 
弄个3个的试试就知道了,它是怎么移动的,为什么要移动到那

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-10-02 21:12
快速回复:求解,hanoi问题
数据加载中...
 
   



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

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