阿摩線上測驗 登入

申論題資訊

試卷:107年 - 107 關務特種考試_三等_電機工程:計算機概論#69095
科目:計算機概論、大意(資訊科學概論,電腦常識,電子計算機概論)
年份:107年
排序:0

申論題內容

四、河內塔問題的描述如下: 假設有 3 個木樁 A、B、C 和 n 個大小均不相同的盤子(disc)。開始的時候 n 個盤子 都套在木樁 A 上(由小到大,小的在上)。現在我們希望將 A 木樁上的盤子藉著 B 木樁當中間橋樑,全部移到 C 木樁上。不過在搬動時還必須遵守下列規則: ⑴直徑較小的盤子永遠置於直徑較大的盤子上。 ⑵盤子可任意地由任何一個木樁移到其他的木樁上。 ⑶每一次僅能移動一個盤子。 試寫出一個解決河內塔問題的演算法。(25 分)

詳解 (共 1 筆)

詳解 提供者:白龍@菜鳥公務員(107/10/29)
Procedure
Hanoi(n, A, B, C)         //該題n=3
    If(n == 1) 
        Print("Move plate " n " from " A " to " C)
    Else 
        Hanoi(n-1, A, C, B)
        Hanoi(1, A, B, C)
        Hanoi(n-1, B, A, C)