2012年3月25日 星期日

河內塔征服記 上

WEEK 9 SUNDAY
MISSION : 解決河內塔3-10層


  自從將俄羅斯方塊玩到封頂後,我一直搵緊其他智力遊戲當替代品,今次揀既係河內塔!!
  河內塔(Tower of Hanoi)係咩黎?根據維基既講法,河內塔起源於法國數學家Edouard Lucas所講既一個故事,傳說古印度(另一說法為河內)某神廟入面有三條細柱,其中一條柱插滿64個圓盤,只要將全部圓盤移去另一根柱度,就會有大事發生云云,不過移盤時必須遵守兩個規定:1.一次只可以移動一個圓盤;2.大盤唔可以放o係小盤上,咁列底要移幾多次先可以搬哂所有盤呢?呢條數學問題就引伸左河內塔呢個遊戲出黎啦!
  為左方便大家理解河內塔實際係點玩,本人用File同硬卡紙山寨左個河內塔出黎,請睇以下示範:
  由上圖可見,遊戲開始時,組成三層塔既圓盤由小至大排列o係中間位置,首先將數字最細既圓盤1搬去左面,圓盤2調去右面,再將圓盤1疊去圓盤2之上,騰出左邊空間後,移圓盤3過去左面,呢個時候作為塔底既圓盤3已經搬離原來位置,跟要做既就係將圓盤2同圓盤1搬上去圓盤3度。到左step5果陣圓盤2上面會有比佢數字細既圓盤1擋住,所以要將圓盤1移去中間空位,再放圓盤2去圓盤3度,最後放圓盤1去圓盤2,3之上,得左!簡單d黎講呢個遊戲既終極目的就係將塔原來所處既位置改變就謂之成功喇。
  塔既移動次數有一定既規律,一層係一次,兩層三次,三層七次,四層十五次,五層三十一次……除左第一層之外,塔既移動次數會係前一層移動次數兩倍再+1,套用返Edouard Lucas既講法,每層既移動次數都可以用遞迴函數(雖然我唔知係咩黎)計到出黎既,不過本人數學太差,玩既時候都係多數靠撞,仲成日重複步驟都唔覺tim!星期四果陣o係Bonnie同學既見證下,我用左差唔多五個字既時間移八層塔,為左一雪前恥我要解決十級!不過,河內塔既層數與遊戲難度同時間成正比,以笨拙既本人為例,玩四層26秒,五層58秒,六層2分26秒,七層 6分35秒…

(原片長度為10分鐘35秒)




待續……

1 則留言: