拓展訓練漢諾塔(拓展訓練七巧板的玩法)
很多孩子第一次見到漢諾塔問題時,估計都是一頭霧水吧!也許你最終可以在網上找到標準答案,但是真正理解了它的求解過程的人應該是少之又少了。今天我們就來給大家詳細的講解一下漢諾塔問題的求解過程。所謂知己知彼,百戰不殆。在正式開始分析問題前,先來聽一段故事:在世界中心貝拿勒斯(在印度北部)的圣廟里,一塊黃銅板上插著三根寶石針。印度教的主神梵天在創造世界的時候,在其中一根針上從下到上地穿好了由大到小的64片金片,這就是所謂的漢諾塔。不論白天黑夜,總有一個僧侶在按照下面的法則移動這些金片:一次只移動一片,但不管在哪根針上,小片必須在大片上面。僧侶們預言,當所有的金片都從梵天穿好的那根針上移到另外一根針上時,世界就將在一聲霹靂中消滅,而梵塔、廟宇和眾生也都將同歸于盡。

64片金片太多,可以讓小朋友們從簡單的開始。假設3根柱子是A, B, C。1個盤片:需要移動1次,2個盤片:需要移動3次,3個盤片:需要移動7次,具體地,要把3個盤片從A號柱子搬到C號柱子,那么應該首先將上面兩個1,2號盤片搬到B號柱子(移動3次),然后將最底下的3號盤片搬到C號柱子,然后再將1,2號盤片從B號柱子搬到C號柱子(移動3次)。此時,實際上已經發現了相同結構的但規模更小的問題。也就是移動3個盤片,可以利用之前移動2個盤片的結果。
在此基礎上,將N個盤片從A號柱移動到C號柱,我們不知道怎么做,但如果我們能首先把N-1個盤片從A號柱移動到B號柱,再把最底下的那個盤片從A號柱移動到C號柱,最后再把B號柱的N-1個盤片移動到C號柱,這個問題就解決了。在移動上面N-1個盤片的時候,由于底下的盤片最大,所以可以假設它并不存在。因此F(N)=2×F(N-1)+1。

也就是說按這一遞推關系,這個序列是1,3,7,15,31,63,127, …。可以看出,n個盤片移動的次數是2?-1。成功移動64個盤片需要18446744073709551615次。假如每移動一個盤片花1秒,并且這些僧侶能夠正確無誤地移動每一步的話(我是不相信的),需要花大約6000億年才能完成且不論這個傳說是否可信,單從數學角度分析,如果每秒移動一片金片的話,則移完所有的金片至少需要5845.54億年。到了那個時候,不要說地球了,估計太陽系都灰飛煙滅了吧(太陽壽命還剩大約50億年)!從這個角度看,這些僧侶們還真沒忽悠人,甚至還有人相信婆羅門至今還在不停的移動圓盤。
漢諾塔問題是一個經典遞歸問題,漢諾塔問題在數學界有很高的研究價值,而且至今還在被一些數學家們所研究,也是我們所喜歡玩的一種益智游戲,它可以幫助開發智力,激發我們的思維。簡化這一問題,我們先從這一簡單情形說起,也能體會問題內在的韻味及魅力.先看看這一問題變形版本吧。

問題:相傳古印度一座梵塔圣殿中,鑄有一片巨大的黃銅板,之上樹立了三米高的寶石柱,其中一根寶石柱上插有中心有孔的64枚大小兩兩相異的一寸厚的金盤,小盤壓著較大的盤子,如圖,把這些金盤全部一個一個地從1柱移到3柱上去,移動過程不許以大盤壓小盤,不得把盤子放到柱子之外.移動之日,喜馬拉雅山將變成一座金山.
設h(n)是把n個盤子從1柱移到3柱過程中移動盤子之最少次數
n=1時,h(1)=1;
n=2時,小盤→2柱,大盤→3柱,小盤從2柱→3柱,完成.即h(2)=3;
n=3時,小盤→3柱,中盤→2柱,小盤從3柱→2柱.[即用h(2)種方法把中、小兩盤移到2柱,大盤3柱;再用h(2)種方法把中、小兩盤從2柱3柱,完成;
我們沒有時間去移64個盤子,但你可由以上移動過程的規律,計算n=6時,h(6)=( )

A.11 B.31 C.63 D.127
【分析】根據移動方法與規律發現,隨著盤子數目的增多,都是分兩個階段移動,用盤子數目減1的移動次數都移動到2柱,然后把最大的盤子移動到3柱,再用同樣的次數從2柱移動到3柱,從而完成,然后根據移動次數的數據找出總的規律求解即可.
【解答】根據題意,n=1時,h(1)=1,
n=2時,小盤→2柱,大盤→3柱,小盤從2柱→3柱,完成,即h(2)=3=22﹣1;
n=3時,小盤→3柱,中盤→2柱,小盤從3柱→2柱,[用h(2)種方法把中、小兩盤移到2柱,大盤3柱;再用h(2)種方法把中、小兩盤從2柱3柱,完成],
h(3)=h(2)+h(2)+1=3×2+1=7=23﹣1,
h(4)=h(3)+h(3)+1=7×2+1=15=2^4﹣1,
…
以此類推,h(n)=h(n﹣1)+h(n﹣1)+1=2?﹣1,
∴h(6)=2^6﹣1=64﹣1=63.故選:C.
【點評】本題考查了圖形變化的規律問題,根據題目信息,得出移動次數分成兩段計數,利用盤子少一個時的移動次數移動到2柱,把最大的盤子移動到3柱,然后再用同樣的次數從2柱移動到3柱,從而完成移動過程是解題的關鍵,本題對閱讀并理解題目信息的能力要求比較高.

變式1.老王和小王父子倆玩一種類似于古代印度的"漢諾塔游戲";有3個柱子甲、乙、丙,在甲柱上現有4個盤子,最上面的兩個盤子大小相同,從第二個盤子往下大小不等,大的在下,小的在上(如圖),把這4個盤子從甲柱全部移到乙柱游戲即結束,在移動過程中每次只能移動一個盤子,甲、乙、丙柱都可以利用,且3個柱子上的盤子始終保持小的盤子不能放在大的盤子之下,設游戲結束需要移動的最少次數為n,則n=( )

A.15 B.11 C.8 D.7
【解答】由題意得,根據甲乙丙三圖可知最上面的兩個是一樣大小的,
所以比三個操作的此時(23﹣1)要多,此四個操作的此時(2^4﹣1)要少,
相當與操作三個的時候,最上面的那個動了幾次,就會增加幾次,故選:B.
【點評】本題考查了圖形變化的規律問題,根據題目信息,得出移動次數分成兩段計數,利用盤子少一個時的移動次數移動到乙盤,再把最大的盤子移動到丙盤,然后再用同樣的次數從乙柱移動到丙柱,從而完成移動過程是解題的關鍵,本題對閱讀并理解題目住處的能力要求比較高.試題
變式2.小張和小王兩位同學課余時間玩一種類似于古代印度的" 漢諾塔游戲".有甲、乙丙3個柱子,甲柱子上有n(n≥3)個盤子,從上往下大小不等,大的在下,小的在上(如圖),把這n個盤子從甲柱子全部移到乙柱子上游戲結東,在移動過程中每次只能夠移動一個盤子,甲、乙、丙3個柱子都可以利用,且3個柱子上的盤子始終保持小的盤子不能放在大的盤子

【點評】本題考查的知識要點:數列的通項公式的求法及應用,主要考查學生的運算能力和轉化能力,屬于基礎題型.

變式3.古代印度婆羅門教寺廟內的僧侶們曾經玩過一種被稱為"漢諾塔問題"的游戲,其玩法如下:如圖,設有n(n∈N*)個圓盤依其半徑大小,大的在下,小的在上套在A柱上,現要將套在A柱上的盤換到C柱上,要求每次只能搬動一個,而且任何時候不允許將大盤套在小盤上面,假定有三根柱子A、B、C可供使用.

本題的(1)問關鍵是從特殊中發現一般性的規律,考查構造法求數列的通項;(2)問體現等價轉化的數學思想,同時應注意放縮法的運用.



漢諾塔問題(游戲)還有個最關鍵的問題就是第一步的第一小步是將頂層圓盤挪至輔助柱還是還是目標柱的問題。說它關鍵,是因為一步錯,步步錯。第一步走錯了,后面再怎么走,也不會走對。那這關鍵的第一步該怎么走呢?經過推理與分析,找到了問題的答案:若塔層數為奇數,頂層圓盤應首先放在目標柱;若是偶數,則放在輔助柱。這就是漢諾塔,一款起源于印度古老傳說的簡單而又不那么簡單的益智小游戲。從漢諾塔游戲中的規律可發現漢諾塔游戲中蘊藏著豐富的數學內容,因此,玩好漢諾塔游戲不僅可以從中獲得游戲的快樂,而且還能夠從中學到很多數學知識,體會很多數學思想與數學方法。小游戲中蘊含大智慧,雖然比賽結束了,但是游戲精神,思維模式會伴隨著孩子的成長,使孩子們終生受益。
狗尾續貂說一點,遞歸在計算機中占有極為重要的地位,從形式化定義到算法,它的身影無處不在。可以這么說,對初涉編程的人,是否會用遞歸思維去解決問題是一名普通程序員邁向一名優秀程序員的一大門檻。從小讓孩子具備一些遞歸思維,漢諾塔游戲是學習編程優質素材,或許會讓孩子學習編程容易一點,在未來受益匪淺。