问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言递归问题: 汉诺塔问题:

发布网友 发布时间:2022-06-05 13:21

我来回答

3个回答

热心网友 时间:2023-11-22 04:52

假设最初有3个盘子,目标是柱子A移到柱子C上,柱子从左到右是A,B,C,我给你说明一下过程:
1.move(2,a,b);move(1,a,c);move(2,b,c);//将2个盘子从A移到B上,再将剩下的1个从A移到C上,最后将2个盘子从B移到C上,就完成了最终的任务。但是,move(2,a,b)和move(2,b,c)这个操作要继续分解。
2.move(2,a,b) <==> move(1,a,c);move(1,a,b);move(1,c,b)
3.move(2,b,c) <==> move(1,b,a,);move(1,b,c);move(1,a,c);
4.最后,合成所有的动作就是:move(1,a,c);move(1,a,b);move(1,c,b);(前三步在完成move(2,a,b)的动作)move(1,a,c);move(1,b,a,);move(1,b,c);move(1,a,c);(后三步在完成move(2,b,c) 的动作)

现在,你拿三本书来验证一下上面的对不对,再体会一下。思考方式就是递归的方式。
一个元操作move(n,x,y,z)是指,把n本书从柱子x移到柱子z,移的过程中要借用柱子y。我的move里面省略了y,是为了表达更清晰。当n>1时,意味着我们要先把上面的n-1个移走(这一操作要继续分解为更小的操作),再最下面的那个最大的移到目标位置,最后再把上面的n-1也移到目标位置(这一操作也要继续分解为更小的操作)。当n=1时,意味着我们可以直接把这1个盘子移到目标位置,此时也就退出了递归。
这里有个细节要体会一下,为什么要先移上面的n-1个,再最后移下面一个大的,因为汉诺塔问题规定,任何时候都必须是大的在下面,小的在上面,对于上面的n-1个,最下在的大盘子就像平地一样,其所在的柱子可以随意使用。反过来,先移上面1个,再移下面的n-1个就是不可行的,因为会有一个柱子变得不可用。
你跟踪下程序,会让你更清晰,注意参数的变化。也可以拿纸画一下。
注意,我们实际演示中的一个移动的动作,程序中就是用printf()这样一句话来表示的。OKAY?

热心网友 时间:2023-11-22 04:52

还好n=3,自己找盘子来个现场演示吧

热心网友 时间:2023-11-22 04:53

这个真不好说明白,真想象不出来,就拿几个盘子演示一下!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? C语言用递归些汉诺塔游戏,有个步骤不明白,大一新生求助啊 我上哪找某一行业的所有上市公司? 一只鸡蛋用清水煮大概要煮多长时间熟,怎样判断鸡蛋熟了。 1又4分之一直径是多少 梦见吃肉,后来知道是狗肉就吐了,因为一直都不吃狗肉。 1又4分之1怎么算 我昨晚一直做梦,迷迷糊糊老梦见杀好的狗肉和羊肉。没有吃也没有买。不知道好不好? “窃以为”为什么是“我以为”的意思? 孙权劝学中以为的意思 輮以为轮中“以为”的意思是什么? 泰博理想城怎么样?好不好?值不值得买? 什么是&quot;以为&quot;?以为是什么意思? 城市理想怎么样?好不好?值不值得买? 崩坏3玩家能发邮件吗 求这张图原图,可以的话请发我youxiang,就是账号的Q邮 发何时箱同邮件q{人个给一如邮以件0?上封}q人3多收 三星S5 三星账户登录不了 2019年厦门的省考公务员都在厦门地区面试吗 周口监狱省考进面试在当地吗 涉税是什么意思 谁给个C语言汉诺塔递归算法及其详细注释 C语言算汉诺塔,递归时的输出是怎么一步一步来的?如图,求大神帮忙 百度地图 有没有和谷歌一样的地图啊 地理信息公司从谷歌地球以及百度地图上截图进行矢量化处理进行盈利 这样属于侵权违法行为吗? 百度地图路径文件如何导入到谷歌地球 你知不知道还有没有比&quot;谷歌地球&quot;更好的地图软件? 梦见河水很大很清并游了过去 保险经纪人与CICE有什么区别 怎么可以忘了爱滋恐惧症 对于悲观,忧郁,紧张,焦虑传染病患者应如何沟通? 美国有保险经纪人吗 gap 这句话翻译成中文是什么意思 11888充值卡充值方式有哪几种充值方式? 古代龙凤簪指定什么人戴 古代皇后用的是什么发簪 古代妃子中的贵人能带凤簪吗 今天手机号能办理过户吗? 会计报表附注的内容 急急!!在线等答 请问小规模纳税人并且是定额定税的资产负债表和利润表(财务报表AB类)该怎么填写? 为什么鸡柳炸出来会烂