[問題] 河內塔照順序問題

作者: isaac410 (愛薩克)   2021-03-28 23:35:53
各位版友好
小弟最近剛學到遞迴,學到最經典的河內塔問題
照正常思維去想應該沒啥問題
http://i.imgur.com/alglNEd.jpg
這是小弟的想法
http://i.imgur.com/PiVbR0F.jpg
用n=3個去想
但是如果要寫成只能照順序移動(A~B~C~A)
這是小弟一樣用n=3去想
http://i.imgur.com/cLS8JUl.jpg
想是想得出來
但是遇到遞迴裡面就卡住不知道如何下手
能請各位大大指點迷津嗎
謝謝
作者: LPH66 (-6.2598534e+18f)   2021-03-29 01:13:00
你知道為什麼原版能用遞迴嗎?
作者: ck574b027 (荒圍!定厝!賊!妹!)   2021-03-29 13:48:00
我在想作為新手入門,為何教學自己就在用ABC做不良示範改成 char start, char store, char goal 不好嗎
作者: kaneson (Lance)   2021-03-29 14:06:00
新手不太鍵議用河內塔學遞迴
作者: MartinJ40 (Martin J-40)   2021-03-29 14:20:00
河內塔學遞迴超好吧 很明顯n+1解含n解的子結構阿
作者: LPH66 (-6.2598534e+18f)   2021-03-29 18:13:00
用河內塔我也覺得沒問題+1, 問題在教的人有沒有把這題目中類似於數學歸納法的結構給指出來原 PO 看起來就完全沒 get 到這件事所以他自己的「想法」裡一丁點遞迴或子問題的影子都沒有所以我上來第一句就問原 PO 知不知道為什麼原題能用遞迴
作者: alan23273850   2021-03-30 10:14:00
學遞迴用階乘或費式數列都很棒啊
作者: tsoahans (ㄎㄎ)   2021-03-30 11:00:00
你要把K個盤子(K>1)從A移到C 你必須先把上面K-1個盤子從A移到B 再把最底層的盤子從A移到C 最後再把K-1個盤子從B移到C你會注意到"把K-1個盤子從A移到B"這件事情和"把K個盤子從A移到C"做的事情是一樣的差別只有在目的地和數量不同(演算法一樣但輸入參數不同)
作者: vup4jp6 (精銳貓奴)   2021-04-08 10:00:00
從頭到尾都只有兩個盤子在移動 沒有ABC柱子的區分只有目標位置 跟 暫放

Links booklink

Contact Us: admin [ a t ] ucptt.com