具体数学——汉诺塔2.0

      饶有兴趣地看完了具体数学中的第一章,然后兴致满满地开始做习题,看到热身题的第二题,曰:“把有n个圆盘的塔从左边的桩柱A移动到右边的桩柱B,不允许在A和B之间直接移动,求最短的移动序列.(每一次移动都必须是移动到中间的桩柱或者从中间的桩柱移出.像通常一样,较大的圆盘不能放在较小圆盘的上面)”,学着书上的思考模式开始分析了:

      首先看清楚条件,是不能直接在A、B之间挪动圆盘的,所以,挪动圆盘只能从A柱到中间柱,然后从中间柱挪到B柱了。于是假设从A柱到中间柱挪动n-1的盘子需要挪动(Xn−1)次,由于最大的那个圆盘不能直接从A挪到B,只能先把n-1个圆盘继续挪到B柱了,同样需要(Xn−1)次,然后最大的圆盘从A挪到中间柱需要1次,为了让最大圆盘能挪到B柱,那么n-1个圆盘还要先挪到中间柱,需要(Xn−1)次,然后还要继续挪到A柱,又需(Xn−1)次,接着最大圆盘挪到B柱,需1次;n-1个圆盘从A途径中间柱再到B又要2个(Xn−1)次,所以要完成要求一共需要Xn=(Xn−1)+(Xn−1)+1+(Xn−1)+(Xn−1)+1+(Xn−1)+(Xn−1);

      然后对了一下答案,立即就茫然了........

      答案只有:Xn=(Xn−1)+1+(Xn−1)+1+(Xn−1);-_-|||,能不能给点儿面子........

      于是我开始分析错在哪里,冷静下来一想,很显然我之前的思路有着很大的死穴,就是这里的(Xn−1)和Xn完全是不能对等的,及Xn是指从A到B的挪动次数,在我的思路里(Xn−1)却是将n-1个盘子从一个柱子挪到另一个柱子的次数.......⊙﹏⊙b好羞愧呀好羞愧......

      搞清楚了这个问题后就要重新分析了,类似书上的思想,要先将A柱上n-1个圆盘挪到B柱,当然这是要借助中间柱来挪的,怎么挪就用我们费心了,我们忽略中间过程,只考虑结果,即从A柱借助中间柱将n-1个圆盘挪到B柱需要挪动(Xn−1)次;现在A柱上只有一个最大圆盘了,很显然,必须先要将最大圆盘挪到中间柱,需挪1次,然后将位于B柱的n-1个圆盘又挪回A柱,需挪(Xn−1)次(嘿嘿,这次不糊涂了吧,o(≧v≦)o~~好棒,啦啦啦,啦啦啦~~),接着最大圆盘终于可以回归仙位到达B柱,需挪1次,然后位于A柱的n-1个圆盘也要和最大圆盘到B柱团圆了,需挪(Xn−1)次;

      所以,递推式为:Xn=(Xn−1)+1+(Xn−1)+1+(Xn−1)=3(Xn−1)+2;

      将上式两边各加1,在除以3,整理得:Xn=3^n - 1;

 


Xn1+1

posted @ 2013-10-06 15:20  兔爷爱吃炸酱面  阅读(286)  评论(0编辑  收藏  举报