初中学习网-初中学习方法、解题技巧、知识点总结、学习计划、同步辅导资料!

初中学习网-人民教育出版社人教版部编同步解析与测评答案-电子课本资料下载-知识点总结学习方法与技巧补课解题技巧学习计划表-人教网-初中试卷网-中学学科网

当前位置: 首页 > 初中语文 > 综合辅导 >

汉诺塔游戏:递归经典问题

http://www.newdu.com 2021-06-21 普惠英才 佚名 参加讨论

    汉诺塔游戏,是非常著名的智力趣味题,在很多算法书籍和智力竞赛中都有涉及。
    
    汉诺塔游戏的基本规则是:在一块板子上,有三根编号分别为A、B、C的杆,在A杆上按自下而上、由大到小的顺序放置着64个(或其他数目)圆盘,每次只能移动一个圆盘,并且在移动过程中三根杆上都始终保持大盘在下、小盘在上的状态,操作过程中圆盘可以在A、B、C任意一杆上,要如何把A杆上的圆盘全部移到C杆上?
    
    以3个圆盘为例:将3个圆盘按由小到大的顺序分别记作P1、P2、P3。按照规则将三个圆盘从A杆移至C杆,则需以下步骤:(1)先将P1移至C杆,再将P2移至B杆,然后将P1移至B杆,此时P1和P2均在B杆上(需3步);(2)将P3移至C杆(需1步);(3)将P1移至A杆,将P2移至C杆,最后将P1移至C杆(需3步)。
    在此过程中,要将P3移至C杆,先将C杆当作中介,将P1移至C杆;再将P1、P2先移至B杆,借用B杆做中介;再将P2移至C杆时,又先将P1移至A杆,借用了A杆做中介。(总共7步完成)
    以此为例,如何完成其他数量圆盘的移动操作呢?
    当n=1时,只需将编号为1的圆盘从A柱直接移至C柱上即可。
    当n=2时,利用B柱作为辅助柱,先将圆盘1移至B柱,再将圆盘2由A柱直接移至C柱,然后再将圆盘1由B柱移至C柱。
    当n=3时,同样利用B柱作为辅助柱,依照上述原则,先设法将圆盘1、2移至B柱,待圆盘3由A柱移至C柱后,再依照上述原则设法将圆盘1、2移至C柱。
    ......
    依此类推,当n>1时,需利用B柱作为辅助柱,先设法将压在编号为n的圆盘上的n-1个圆盘从A柱(依照上述原则)移至C柱,待编号为n的圆盘从A柱移至C柱后,再将B柱上的n-1个圆盘(依照上述原则)移至C柱。
    游戏的移动操作很简单,但是如何将64个圆盘从一根杆子上移到另一根杆子上,并且始终保持上小下大的顺序,一共需要移动多少次才是让人头疼的问题。游戏过程中不难发现:不管把哪一个圆盘移到另一根杆子上,移动的次数都要比移动上面一个增加一倍。这样,移动第1个只需1次,第2个需2次,第3个需4次……第64个需263次。
    奇妙的汉诺塔游戏所含有的数学知识饱含着人类的智慧。
    来源: 新华网
     (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
初中语文
初中数学
初中英语
初中物理
初中化学
初中生物
初中历史
初中地理
初中道德与法治
初中历史与社会
初中日语、俄语
学习方法
初中竞赛