當前位置:
首頁 > 最新 > 猩球里凱撒完成漢諾塔僅需15步,想知道是如何實現的嗎?

猩球里凱撒完成漢諾塔僅需15步,想知道是如何實現的嗎?

最近上映的《猩球崛起3》,大家都去看過了嗎?第三部電影依舊延續前兩部劇情,從人類研發治療老年痴呆症新葯開始,到猩Baby凱撒身上試驗得到印證,不僅治癒人類長期以來的衰老疾病,並且新葯還有一個特別明顯的特徵,凡是使用過後,都變得特別的聰明,也顯示出非常高的智商。

GIF/1991K

比如,凱撒在十八個月時,就已經學會手語,在兩歲時,就能完成為八歲孩子設計的模型遊戲,完成漢諾塔遊戲只需要15步(滿分)!

這個來自印度一個古老傳說的益智遊戲,既適合動手能力強的人玩,還能打發閑暇無聊的時光,關鍵的是,該遊戲還能啟發人的創意創造能力。

遊戲規則很簡單,那就是:

1.一次只能移動一個圓盤;

2.大圓盤只能在小圓盤下面;

最終,所有圓盤從一個柱子移到另一個柱子就算成功。

PS:有預言說,當這個遊戲完成的時候,世界在一瞬間就坍塌了,您信嗎?

GIF/633K

(四片漢諾塔玩法,沒玩過的多看幾遍動圖~)

據說,現在已經有具體的實例可以實現漢諾塔遊戲,以下演示運用Java實現經典的漢諾塔演算法:

/*

author by w3cschool.cc

MainClass.java

*/

public class MainClass {

public static void main(String[] args) {

int nDisks = 3;

doTowers(nDisks, 『A』, 『B』, 『C』);

}

public static void doTowers(int topN, char from,

char inter, char to) {

if (topN == 1){

+ from + 「 to 」 + to);

}else {

doTowers(topN - 1, from, to, inter);

+ topN + 「 from 」 + from + 「 to 」 + to);

doTowers(topN - 1, inter, from, to);

}

}

}

以上代碼運行輸出結果為:

Disk 1 from A to C

Disk 2 from A to B

Disk 1 from C to B

Disk 3 from A to C

Disk 1 from B to A

Disk 2 from B to C

Disk 1 from A to C

發燒友學院與韋東山團隊傾力打造

從0到1助您完成Android系統開發高級工程師轉變!

(課程包含三部分:Java快速入門、C++快速入門、Android驅動深度開發)

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 電子發燒友網 的精彩文章:

汽車電子行業熱門測量方案看這一篇就夠了
國內90%植保無人機,都採用這家激光測距模塊
別上當了!硬體不賺錢是一個天大的坑
富士康375億在南京建廠,向製造業延伸布局;加速人工智慧應用開發,西門子在清華建立機器人研究中心……
高質量技術視頻教程推薦,總有一款適合你!

TAG:電子發燒友網 |