| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 654 人关注过本帖
标题:Hanoi塔问题
只看楼主 加入收藏
lsd98
Rank: 2
等 级:论坛游民
帖 子:51
专家分:26
注 册:2010-3-30
结帖率:76.92%
收藏
已结贴  问题点数:5 回复次数:2 
Hanoi塔问题
设a,b,c是3个塔座。开始时,在塔座a上有一叠共n个圆盘,这些圆盘自下而上,由大到小地叠在一起。各圆盘从小到大编号为1,2,…,n,现要求将塔座a上的这一叠圆盘移到塔座b上,并仍按同样顺序叠置。在移动圆盘时应遵守以下移动规则:
规则1:每次只能移动1个圆盘;
规则2:任何时刻都不允许将较大的圆盘压在较小的圆盘之上;
规则3:在满足移动规则1和2的前提下,可将圆盘移至a,b,c中任一塔座上。
void hanoi(int n, int a, int b, int c)
   {
       if (n > 0)
       {
          hanoi(n-1, a, c, b);
          move(a,b);
          hanoi(n-1, c, b, a);
       }
   }
应用C++ MFC编写一个解决以上问题的可视化程序;编程大侠们,最好有较为详细的注释!
我的可给积分只剩下5分了,感谢有心人
搜索更多相关主题的帖子: Hanoi 
2010-04-02 23:16
guoangang123
Rank: 2
等 级:论坛游民
帖 子:14
专家分:29
注 册:2007-5-12
收藏
得分:2 
你要找的可视化程序,在CSDN网站里面有的,不过要有积分才能下载。
如果说你需要详细的解释,我觉得最好的解释只能是程序了,多多的看几遍,是会明白的。
2010-04-05 22:02
asdjc
Rank: 6Rank: 6
来 自:武汉
等 级:侠之大者
威 望:7
帖 子:98
专家分:487
注 册:2010-1-22
收藏
得分:2 
你的程序是对的呀,
void hanoi(int n, int a, int b, int c)
   {
       if (n > 0)
       {
          hanoi(n-1, a, c, b);
          move(a,b);
          hanoi(n-1, c, b, a);
       }
   }
至于可视化就是用MFC加入图形动画元素,就是给移动编一个类,运行move函数时启动移动的动画图像。
2010-04-09 14:35
快速回复:Hanoi塔问题
数据加载中...
 
   



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

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