首页
/
每日頭條
/
遊戲
/
漢諾塔遊戲總結發言
漢諾塔遊戲總結發言
更新时间:2024-10-11 01:33:55

這個遊戲大家想必都不陌生:

漢諾塔遊戲總結發言(幹貨漢諾塔遊戲解法完整版)1

當然,遊戲是有規則的,否則把所有的圈圈們連根拔起,一下扔過去就結束了。。。

規則一:每次操作隻能移動一個圈圈,把它從一個柱子移到另一個柱子上;

規則二:大圈圈不能架在小圈圈的上面。

今天咱們就來說說這個遊戲。

遊戲的名字,最通俗的叫法是漢諾塔,英文名Tower of Hanoi。

Hanoi在英文裡是河内(越南首都)的意思,所以,其實還是叫河内塔更準确些。

神話故事

這是一個古印度的遊戲,源自古印度神話:

漢諾塔遊戲總結發言(幹貨漢諾塔遊戲解法完整版)2

學過計算機編程基礎的小盆友們都知道,解決河内塔問題大體有兩種思路:疊代非疊代

疊代的解法

疊代的方法非常簡單,也很好玩。

記得那個經典的笑話嗎:

把大象放進冰箱要幾步?

分三步:

1、把冰箱門打開;

2、把大象塞進去;

3、把冰箱門關上。

嗯,跟這個笑話類似:

你不是想要找一個辦法把8個盤子都移到C棒嗎?

分三步:

1、假設有了一個辦法,把前7個盤子一起都移到B棒。

2、把最大的盤子移到C棒。

3、再用想象中的辦法,把B棒上那7個盤子都移到C棒那個最大的盤子上。

問題就解決了。

漢諾塔遊戲總結發言(幹貨漢諾塔遊戲解法完整版)3

圖中深黃色的盤子可視為任意數量:對任何N個盤子的情況,都可以簡化為将N-1個盤子先移到中轉棒,将最大的盤子移到目标棒,再将N-1個盤子移到目标棒

那麼如何完成第一步和第三步裡,把7個盤子整體移動呢?

繼續疊代:先把前6個盤子都移到C棒,再把最大的那個移到B棒,再把C棒上那6個盤子移回B棒上來。

每一次疊代,都使得需要移動的盤子數減少了1;一直疊代下去,直到最原始的情況:把一個盤子移到另一根棒子上。

這個原始情況解決了,那麼依次倒回去,所有的問題都解決了。

仍然用大象和冰箱的例子作比,那就是:

中間的第二步,如何把大象塞進去呢?

先把大象頭塞進去;

再把大象身體塞進去;

再把大象腿和尾巴塞進去。

大象的頭如何塞進去呢?

先把鼻子塞進去;

再把臉塞進去;

再把後腦勺一股腦塞進去。

大象鼻子怎麼塞進去呢?

先把第一段鼻子塞進去;

再把第二段鼻子塞進去;

……

疊代法,就是這麼簡(bao)單(li)而且易(liu)行(mang)

正因為如此,這個方法也成為大學裡教授計算機編程思想的必修内容之一:幾乎所有的計算機專業的大學生都遇到過這個問題和解法。

程序是解決了,但這其實并不是一個正常人類能看懂和操作的方法;你能寫出這樣的程序讓計算機給出答案,可是當你實際遇到8個盤子疊起來時,還是一樣抓瞎沒轍,并沒有實際的指導意義。

有沒有直觀的、操作性強的統一解法呢?

當然有。

這就是所謂非疊代的解法。


以下慎入,因為當你看完後,你會發現此遊戲的所有樂趣都被剝奪殆盡,隻剩下了極其簡單和無聊的解謎過程


非疊代的解法

同樣以8個盤子為例:

漢諾塔遊戲總結發言(幹貨漢諾塔遊戲解法完整版)4

A棒上的8個盤子要全部移到目标C棒,

所以:

最大的8号盤的目标是C棒。

次大的7号盤的目标就應該是B棒。

以此類推,6号盤的目标又是C棒。

5号盤的目标是B棒。

4号盤的目标是C棒。

3号盤的目标是B棒。

2号盤的目标是C棒。

最小的1号盤,目标是B棒。

總而言之:

1、3、5、7号盤的目标是中轉棒B;

2、4、6、8号盤的目标是目标棒C。

這8個目标把整個問題分成了8步,而且和剛剛疊代法那不負責任的3步比起來,這8步的指導意義是很強的:

第一個目标,就是将最小的1号盤移到中轉棒B棒上。——這個目标當然一步就能實現:

漢諾塔遊戲總結發言(幹貨漢諾塔遊戲解法完整版)5

然後将2号盤移到目标棒C棒上。——也是一步就可以實現:

漢諾塔遊戲總結發言(幹貨漢諾塔遊戲解法完整版)6

下一個目标,就是把3号盤移到B棒。這時由于1号盤占上了B棒的坑位,所以要先把它挪到C棒,騰出B棒的位置,再把3号盤移過來:

漢諾塔遊戲總結發言(幹貨漢諾塔遊戲解法完整版)7

下面類似:1号移回A,2号移上B,1号移上B,4号移到C:

漢諾塔遊戲總結發言(幹貨漢諾塔遊戲解法完整版)8

後面的思路都一樣,不再贅述:總之,8個目标是分别讓1、2、3、4、5、6、7、8号盤依次就位:

漢諾塔遊戲總結發言(幹貨漢諾塔遊戲解法完整版)9

漢諾塔遊戲總結發言(幹貨漢諾塔遊戲解法完整版)10

漢諾塔遊戲總結發言(幹貨漢諾塔遊戲解法完整版)11

漢諾塔遊戲總結發言(幹貨漢諾塔遊戲解法完整版)12

當8号盤在C棒就位以後,下面就是要讓7号去C棒。

要實現這一點,6号要去A,5号去C,4号去A,3号去C,2号去A,1号去C。

也就是說,接下來的一步是讓1号盤移到C棒。

再重複一下問題的關鍵:對于8個盤的情況,其實盤子們分别要去的目标是唯一的——

1、3、5、7号盤去中轉棒B,

2、4、6、8号盤去目标棒C。

不僅如此!

在操作中的每一步,你想要移動的目标盤和你實際移動的盤之間,保持間隔始終為偶數,就一定沒問題。

舉例來說,在某一個中間狀态,12345号盤一起堆在C棒上,你想把它們一起弄到B棒;這時1、3、5号盤的目标就是B棒,2、4号盤的目标是A棒。所以此時要做的第一步就是把1号盤移到B棒。

嗯,你已經獲得了這個遊戲的精髓。

這麼一來,這個遊戲還有什麼樂趣可言呢??

沒有了。

即使是64個盤子,我們也能一下得到所有的中間狀态:把所有盤子從小到大編号,所有的奇數号盤子(1,3,5,7,...)一律去中轉棒,所有的偶數号盤子(2,4,6,8,...)一律去目标棒;當第64個盤子就位以後,再将所有的奇數号盤子的目标定為目标棒,把剩下的偶數号盤子的目标定為中轉棒,直至第63個盤子就位;然後再繼續重複這一過程,直至所有盤子就位。

好枯燥,好簡單,好無聊!

複雜度

那麼我們來看看這個話題裡最後一個有點意思的内容:

操作開銷和時間開銷。

要實現64個盤子移位的終極目标,要做多少次有效的移動?

——所謂有效移動是指,假設這些婆羅門和後代們把其中的算法和過程都研究得很清楚,奇偶數的盤子都沒有數錯,老眼昏花、頭昏腦脹,移的過程亂七八糟等等,所有這些意外統統不出現:

那麼一共至少要多少步呢?

很好算。

1個盤子就位需要1步,

2個盤子都就位需要3步,

從3個盤子開始,就需要先用3步使前2個盤子都移到中轉棒,再來1步使第三個盤子就位,再來3步使前2個盤子都移到目标棒,一共就是3 1 3=7步。

4個盤子全部就位,需要7 1 7=15步。

按照歸納法進行簡單的計算,容易知道:

n個盤子全部就位,需要總步數為:2的n次方-1。

也就是說,對于梵天神64個盤子的完整版,婆羅門和後人們一共隻需要移動2的64次方-1步,就可以就位啦!

這個過程其實很快的,隻要他們能做到并且維持每秒移動1個盤子的速度,那麼一共隻要2的64次方-1秒,合5800億年,就能把64個盤子正确就位,使得宇宙在閃電中毀滅!

不過,據科學家分析,宇宙的壽命也就在150億年左右……

好吧梵天還是你赢了!!~

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
孩子沉迷王者榮耀為什麼
孩子沉迷王者榮耀為什麼
澎湃新聞記者陳明明日前,一則“深圳11歲男孩趁父母不在家,偷取父母銀行卡和手機玩《王者榮耀》花光家中3萬元積蓄,家長訴至法院”的新聞引發熱議。其實這類新聞并不少見,浙江某小學五年級孩子使用家長的手機玩遊戲,花掉3.8萬元;合肥10歲孩子偷用...
2024-10-11
微信王者榮耀表情雨紅包怎麼獲得
微信王者榮耀表情雨紅包怎麼獲得
微信王者榮耀表情雨紅包怎麼獲得?工具/原料:蘋果11,IOS14.4在手機中打開微信,我來為大家講解一下關于微信王者榮耀表情雨紅包怎麼獲得?跟着小編一起來看一看吧!微信王者榮耀表情雨紅包怎麼獲得工具/原料:蘋果11,IOS14.4。在手機中...
2024-10-11
王者榮耀五個豬年限定皮膚卡點
王者榮耀五個豬年限定皮膚卡點
大家好我是指尖,現在來說,王者榮耀很少會出現一些真正的福利活動了,對于“福利”二字,玩家們的要求也是越來越低,不知道從什麼時候開始,新皮膚,皮膚返場都成了玩家們口中的福利,實在讓人費解。老版本的各樣碎片都是非常珍貴的,因為獲取的方式少,獲取...
2024-10-11
最囧燒腦遊戲攻略
最囧燒腦遊戲攻略
[閩南網]­最囧燒腦遊戲絕地吃雞求生大作戰怎麼玩呢?這是一個闖關解密的小遊戲了,一些玩家還不知道每關的答案是什麼,那下面就來一起看下攻略介紹吧。­最囧燒腦遊戲攻略­1、答案:87,将手機倒立過來即可看到答案。­2、答案:是不是難倒你了,逐一...
2024-10-11
王者榮耀怎麼關閉推薦裝描述
王者榮耀怎麼關閉推薦裝描述
王者榮耀怎麼關閉推薦裝描述?首先打開王者榮耀進入主頁随後點擊右上角齒輪進入設置,今天小編就來聊一聊關于王者榮耀怎麼關閉推薦裝描述?接下來我們就一起去研究一下吧!王者榮耀怎麼關閉推薦裝描述首先打開王者榮耀進入主頁。随後點擊右上角齒輪進入設置。...
2024-10-11
Copyright 2023-2024 - www.tftnews.com All Rights Reserved