HBC201839牛牛的汉诺塔题解

八贝勒 算法基础篇 58 0
题库丰富多样,涵盖各个领域,全网最全C++题库,让您在练习中不断成长!
end Function 小宝很快就理解了代码的意思并且写出了求解汉诺塔的程序,他现在想研究汉诺塔的规律, 请你统计以下信息:A->B,A->C,B->A,B->C,C->A,C->B的次数,以及所有移动的总步数。

汉诺塔是一个经典问题,相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置n个金盘。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。 汉诺塔以及其衍生问题往往使用递归来求解,也是学习和理解递归很好的老师。 其伪代码如下 Function Hanoi(n,a,b,c)     if n==1 then         print(a+'->'+c)     else         Hanoi(n-1,a,c,b)         print(a+'->'+c)         Hanoi(n-1,b,a,c)     end if end Function  小宝很快就理解了代码的意思并且写出了求解汉诺塔的程序,他现在想研究汉诺塔的规律。 请你统计以下信息:A->B,A->C,B->A,B->C,C->A,C->B的次数,以及所有移动的总步数。

HBC201839牛牛的汉诺塔题解
-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
不断学习,不断挑战,才能在编程领域中脱颖而出!全网最全C++题库,助您成为编程高手!

标签: HBC201839牛牛的汉诺塔题解