原问题为:
注:每次只能移动一个盘子,网上现有的汉诺塔问题中有些没有这个限制条件,因而可以使用同时移动上面的n-1个盘子来求解,相对比叫简单,而本题有次限制,因此需要特别注意!
图示:
如果自己苦思解法,未免有些困难,因此使用现有的比较成熟的算法思想,该算法来自百度百科,具体算法与链接如下所示:
算法介绍
其实算法非常简单,当盘子的个数为n时,移动的次数应等于2^n – 1(有兴趣的可以自己证明试试看)。后来一位美国学者发现一种出人意料的简单方法,只要轮流进行两步操作就可以了。首先把三根柱子按顺序排成品字型,把所有的圆盘按从大到小的顺序放在柱子A上