今天小编mail为大家分享的生活小常识,希望能够帮助到大家!
汉诺塔问题python,汉诺塔问题这个很多人还不知道,现在让我们一起来看看吧!
1、编程时,脑子里不要去思考递归过程(转来转去,会让人很头疼,一会儿就晕了)。
2、数列我想你是清楚的,所谓的递归,就是把an变成a(n-1)去处理问题,处理一个通项式是相同的方法,只要给出a1(或者还有a2),这是递归结束的条件。
3、假设汉诺塔A B C三根针,只考虑移动最底下的盘子时,如果只有一个盘子,就是直接A->C如果只有两个盘子,就是A->B 然后A->C如果只有三个盘子,就是A->C A->B C->B 然后A->C可以发现,(1)如果想移动最底下的盘子,则,先要上面n-1个移动到B盘,即可。
4、(2)在移动B盘上的n-1中的最底下的盘子时,则改变一下源针和中间针即可,即:把B看成A A看成B(3)接下来,在移动A盘上的n-2中的最底下的盘子时,则恢复源针和中间针即可,即:A还是A,B还是B。
5、本步与第一步相同,即1 2两步是在n>1时,的循环。
6、(4)当只有一个盘子时(n=1),就做“源针”到“目标针”即可,结束本次递归。
7、因此,递归程序只有以上三步,即可实现汉诺塔的移动。
Luochuanren.Com洛川人-综合信息门户网站,涵盖生活常识、美食、创业、体育、旅游、家居、汽车、财经、互联网、科技、房产、教育等资讯。
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
工作时间:8:00-18:00
客服电话
17898872021
电子邮件
773537036@qq.com
扫码二维码
获取最新动态