猩球里凱撒完成漢諾塔僅需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驅動深度開發)
點擊展開全文
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
※汽車電子行業熱門測量方案看這一篇就夠了
※國內90%植保無人機,都採用這家激光測距模塊
※別上當了!硬體不賺錢是一個天大的坑
※富士康375億在南京建廠,向製造業延伸布局;加速人工智慧應用開發,西門子在清華建立機器人研究中心……
※高質量技術視頻教程推薦,總有一款適合你!
TAG:電子發燒友網 |