精華區beta Visual_Basic 關於我們 聯絡資訊
※ 引述《starCin (重慶森裡的大城小事)》之銘言: : ※ 引述《HPChou (Hugh)》之銘言: : : 1.先把最大銅盤上面所有的搬到 2 去 : ^^^^但是最大的不是在最下面嗎?? 因為他在最下面,所以搬上面的方式是用遞迴的去搬 : : 2.然後再把最大的搬到 3 去 : : 3.最後在把之前搬到 2 的從 2 搬到 3 去 : : 1. 和 3. 用遞迴做掉就可以了 : 也就是說每次都先跑第2個柱子在跑第3個?? : (正好看見這問題,也有疑惑..) 3是指目的柱,2是中間柱(因為要靠他才能把最下面的搬到目的去) 因為這題是要從1搬到3,所以要先把最大盤子上面的所有先搬到2去 才能把最大的搬到3去 可能講的還是有點不夠清楚,寫成虛擬碼好了:p 拿三個的那個例子跑一下應該就瞭解了 sub honaii(n,a,b,c) 'n 要搬的盤子個數 'a 來源柱 'b 目的柱 'c 中間柱 if n > 1 then '最大盤子上不只一個盤子 honaii(n-1,a,c,b) '先把上面n-1個從來源搬到中間柱 write 來源 -> 目的 '把最大的搬到目的去 honaii(n-1,c,b,a) '再把上面n-1個從所在的中間柱搬到目的 else '上面只有一個盤子直接搬 write 來源 -> 目的 end if end sub -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.27.102