您現在的位置是:首頁 > 足球

1分鐘學會任意圓盤數的漢諾塔快速傻瓜無腦式過關方法

  • 由 慧光 發表于 足球
  • 2021-09-17
簡介圓盤一個或兩個太簡單了,一般是3個或以上,圓盤移動的規則有些變種是圓盤只能移動到相鄰的柱子上,不能跨柱子移動,這個同樣也有規律,大家可以自己想解法

漢諾塔怎麼玩

1分鐘學會任意圓盤數的漢諾塔快速傻瓜無腦式過關方法

漢諾塔

有些公司拓展培訓會玩這類遊戲,或者小孩子也有玩的,之前我總結過發到了網上,現在重新總結並完整的整理下,供大家娛樂。學過程式開發的都知道漢諾塔當然是用遞迴演算法來解決,但遞迴演算法不適合人腦。我們玩的就是簡單暴力,傻瓜式操作。

基本規則是,三根柱子之間一次只能移動一個圓盤,小圓盤上不能放大圓盤。

漢諾塔有些變種,比如柱子的個數可能3個,4個,5個,但顯然柱子越少越難,所以一般還是用3個。圓盤一個或兩個太簡單了,一般是3個或以上,圓盤移動的規則有些變種是圓盤只能移動到相鄰的柱子上,不能跨柱子移動,這個同樣也有規律,大家可以自己想解法。

為了便於通用理解,我們採用如下規則:

三個柱子,每個柱子有任意個圓盤,大圓盤不能壓在小圓盤上,一次移動一個圓盤,圓盤可以從最左邊直接移動中間的柱子,也可以直接移動到最右邊的柱子。至於最終三個如果全部移動到第三個柱子(最右邊那個)上,我們認為成功(當然全部移動到中間的柱子上也可以認為成功,但我們為了通用性只認定全部移動到最右邊的柱子上是成功)。

第一步,我們看一下圓盤的個數,按照

奇左偶右

的口訣進行(左的意思是第一次向左移動最小圓盤,最小圓盤不動,任意走一步,再向左移動最小圓盤,接著再最小圓盤不動,任意走一步,如此往復,如果向左移動到頭了,就直接移動到最右邊的柱子上,把柱子當成圓圈來處理。右的意思和向左的規律一樣,只是移動方向相反)。其實做起來很簡單,但可能有些人第一次看不明白,我們拿三個圓盤的漢諾塔詳細一步一步圖解下。

1分鐘學會任意圓盤數的漢諾塔快速傻瓜無腦式過關方法

如上圖,三個圓盤,奇數個,所以按口訣的話是向左移動(確定好方向後,後面操作的時候一直向左)。什麼意思呢,就是最上面最小的那個圓盤,眼睛要盯緊它,第一步肯定只能動它,我們把它向左移動。問題來了,向左沒有柱子,怎麼移啊,我們要把這些柱子想象成迴圈的圓圈,所以向左移,其實是把它移動到最右邊第三個柱子上,開始移動。

1分鐘學會任意圓盤數的漢諾塔快速傻瓜無腦式過關方法

移動完最小圓盤,接下來隨便走一步,但一定不能動這個最小圓盤(也就是說最小圓盤按口訣走一次之後不能再動),但是大家發現了,隨便走一步且不能動最小圓盤,有且只有一步可走,我們走一步。

1分鐘學會任意圓盤數的漢諾塔快速傻瓜無腦式過關方法

接下來再走最小圓盤,向左走一步(在最開始時候我們已經根據圓盤個數奇偶性確定了移動方向,所以後面一直走這個方向)

1分鐘學會任意圓盤數的漢諾塔快速傻瓜無腦式過關方法

接下來最小圓盤不動,再任意走一步(其實有且只有一步可走)

1分鐘學會任意圓盤數的漢諾塔快速傻瓜無腦式過關方法

接下來最小圓盤向左走一步

1分鐘學會任意圓盤數的漢諾塔快速傻瓜無腦式過關方法

最小圓盤不動,任意走一步(顯然有且只有一步)

1分鐘學會任意圓盤數的漢諾塔快速傻瓜無腦式過關方法

最小圓盤向左走一步(左邊到頭了,迴圈移,意思就是移到最右邊)

1分鐘學會任意圓盤數的漢諾塔快速傻瓜無腦式過關方法

上圖已經顯示祝賀我們,我們成功了!

我們用了最小的步數成功移動,而且毫無壓力。

下面我們可以練習三個柱子四個圓盤(四個圓盤為偶數,按口訣最小圓盤向右移動,移一下停一下),三個柱子五個圓盤(五個圓盤奇數個,按口訣最小圓盤向左移動,其實和三個圓盤規律一樣,只不過步數多)的情況,如果你很快走出來了,那麼你已經掌握了這個辦法。

回到文章開頭,如果我不想三個全移動到最右邊,只想全移動到最中間的柱子呢,顯然,把口訣改成奇右偶左就行了。至於開頭的一些變種的漢諾塔的玩法,萬變不離其宗,大家可以自己總結規律。

謝謝大家閱讀到最後。

Top