PTT推薦

[問卦] 河內塔是誰想出來的?

看板Gossiping標題[問卦] 河內塔是誰想出來的?作者
wa007123456
(大笨羊)
時間推噓11 推:12 噓:1 →:10

只有三根柱子的河內塔

若有64個盤子

需要 2^64 - 1 步才能搬完

如果一秒搬一塊

從宇宙開始搬到現在都還沒搬完

小弟還特別寫了程式模擬

public class Main
{
public static void main(String[] args)
{
ho(64,'A','B','C');

}

public static void ho(int n,char A,char B, char C){

if(n==1){
System.out.println(A +" to " + C);
}
else
{
ho(n-1,A,C,B);
System.out.println(A +" to " + C);
ho(n-1,B,A,C);
}

}
}

爽快地按下編譯執行後


A to C
B to C
B to A
C to A
C to B
A to B
C to A
B to C
......
..............
...................

結果到現在程式還在搬

所以小弟覺得柱子實在是太少了

所以那如果有4根柱子? 5根柱子? 或是6根柱子?

可以加速多少搬的時間?

要怎麼計算?

到底是誰想出這個搬死人的問題?

有卦嗎?

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 150.117.16.107 (臺灣)
PTT 網址

diabolica 09/15 00:40太陽防護手套

link4517 09/15 00:41河內吧。上次被甲胖嚇到弄出來的

chienweichih 09/15 00:41河內恭介

pt993526 09/15 00:41河內啊

meokay 09/15 00:41作業自己寫

Johnyo 09/15 00:41猴子都會

ralfeistein 09/15 00:42你說什麼!!!!!!

dear133 09/15 00:43樓上(鄉民讚)作業自己寫、對!鄉民就

j32072 09/15 00:43嘻嘻不重要辣

dear133 09/15 00:43那麼沒個性還要都答對!

yang560831 09/15 00:44老柯自買味噌

HuangJC 09/15 00:44你用遞迴寫的對吧,有沒有想過不用遞迴

HuangJC 09/15 00:45遞迴是把你的負擔丟給堆疊..

HuangJC 09/15 00:45假設堆疊很小,禁止遞迴,你又怎麼寫?

HuangJC 09/15 00:45這是個可以觀察出來的數學現象,不必遞迴

SWQLovE 09/15 00:47直接換柱就好了 搬個毛

對耶 @@ 我終於懂了 回HuangJC 程式可能可以寫這樣 我是連迴圈都沒用到啦 public class Main{ public static void main(String[] args){ ho(64,'A','B','C'); } public static void ho(int n,char A,char B, char C){ System.out.println(A+"換成"+C); System.out.println("Hello World"); } }

※ 編輯: wa007123456 (150.117.16.107 臺灣), 09/15/2023 00:54:56

milkBK 09/15 00:52當然是先寫出遞迴 再編一個故事來騙啊

jasonking3c 09/15 00:55笑死 111交大資工碩班入學考的離散

jasonking3c 09/15 00:55就出這題 問你多個柱子的步數規律

jasonking3c 09/15 00:56答案就是柱子>3沒有公式解

heavensun 09/15 00:57直接換柱就好了 我懂

jasonking3c 09/15 01:01https://reurl.cc/E1nZnk

jasonking3c 09/15 01:01論文在這 作業自己寫