1. 程式人生 > 實用技巧 >淺談漢諾塔

淺談漢諾塔

淺談漢諾塔

漢諾塔問題一直困擾我好久,學習棧以後才瞭解他的執行原理,我同過畫圖的辦法將程式怎樣執行的畫了出來。
第一次我直接假設有三個盤子,通過直接將最小 A 與 C 會換,3-1 = 2 再次呼叫遞迴,A 與 C 又換回來了,此時n = 1 所以直接列印 A ----> C 並結束第3級遞迴,通過我們知道怎麼換盤子的方式直接寫出 C —> B,由此推出整個遞迴函式下面效果放上
在這裡插入圖片描述
上機後發現錯誤,想了幾分鐘,沒想到,我看了一下程式碼,再重新推導了一下,我發現用2代替3是解決這個問題的最好選擇