破解汉诺塔
2022-08-29 本文已影响0人
The1568
汉诺塔是大家耳熟能详的一款小游戏,游戏规则非常简单:
游戏玩法怎么样,是不是非常简单?不过为什么这么简单的游戏为什么却能风靡全球呢?答案是:这种游戏看似简单,却非常烧脑,今天就为大家带来一种方法,这一个方法能破解所有的汉诺塔难度!
如果你在网上搜,都能搜到一些很多关于汉诺塔的口诀。不过我今天介绍的方法才不是口诀呢!这可比记口诀的方法要简单多了!
首先先介绍一下汉诺塔的最优解步数如何算:假设汉诺塔有N个圆环,那么最优解的步数就是2^N-1。比如,3个圆环最少需要7步完成,而9个圆环最少需要511步呢!
接下来就是我们的正片了!汉诺塔到底有什么技巧?其实只要用一个简单的二进制就搞定了(参考网上的办法)!只要根据二进制的技术节奏来移动圆环,就可以挑战成功!
那么,到底怎么移动呢?简单来说,二进制的计数数量就代表最少步数数量。我们就拿一个3阶汉诺塔来举一个例子:
初始状态 第一步:001如果个位变化,则把1号圆环向右移动一位(如果1号圆环处在最右面,则移回最左面的圆柱上)。
第二步:010如果向十位(第二位)进位,就把2号圆环移到能放的地方(一定要移动,不能原地不动!)。
第三步:011老样子,个位变化,1号圆环向右移一位。
第四步:100百位(第三位)进位,把3号圆环移动到能放的地方。
第五步:101个位变化,1号圆环移到最左面。
第六步:110个位进位到十位,把2号圆环移动到能放的地方。
第七步:111此时如果把1号圆环向右移动一位,你就成功了!
上述流程可以概括为一句话:在二进制计数中,个位变化,就把1号圆环向右移动一位,此后,逢二进一至哪一位,哪一号圆环(圆环标号不一样可能会有些影响)就移动至能放的地方。只要掌握了这个方法,无论多高难度的汉诺塔,你都能成功完成!