c++如何利用语言类的思维从逻辑上推理出汉诺塔问题的步骤

就是一步一步的推理出汉诺塔问题的程序、不是看现成的、跪求、对于新手来说我觉得自己编这个有难度啊。。。谢谢大家、... 就是一步一步的推理出汉诺塔问题的程序、不是看现成的、跪求、对于新手来说我觉得自己编这个有难度啊。。。谢谢大家、 展开
 我来答
可爱小刺猬28
2012-10-23 · 超过11用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:25.3万
展开全部
汉诺塔移动两个的你会吧
初始状态A(1,2) B() C()
第一次后A(2) B() C(1)
第二次后A() B(2) C(1)
第三次后A() B(1,2) C()
其实两个与n个几乎没有区别,采用递归的形式就可以了
把n介汉诺塔基座hannuo(n,a,b,c),注意这里的a,b,c并不总代表A,B,C3个基座。其意义是
第一个参数a代表每一次移动的其实基座,第二个参数b代表每一次移动的终点基座,第三个参数c
代表每一次移动的辅助基座。设a,b,c的初值是“A” “B”“C”
第一步hannuo(n-1,a,b,c);
第二部:把下面的一个盘子从a基座移动到b基座;
第三部;hannuo(n-1,c,b,a);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式