b023: 河內塔
標籤 : 遞迴
通過比率 : 131人/146人 ( 90% ) [非即時]
評分方式:
Tolerant

最近更新 : 2022-04-10 10:59

內容

河內塔(Tower of Hanoi)這個遊戲源自古印度的一個傳說,它的規則如下:

  1. 有 1、2、3 等3根柱子。
  2. 一開始在 1 號柱子上由上到下有 1、2、3、…、N 等 N個環。
  3. 每次只能移動一個環到另一根柱子,而且號碼大的環不可以放在比它小的環上。
  4. 反覆移動這些環,直到所有的環都移到 3 號柱子上。

要完成這個動作,你可以先把 1~N-1 號環移到 2 號柱子上,然後把 N 號環移到 3 號柱子上,再把 1~N-1 號環移到 3 號柱子上。而如何將 1~N-1 號環移到另一根柱子上,其實可以再分解成把 1~N-2 號先移走,再移動 N-1 號的方式,然後再把 1~N-2 號移回來,注意到了嗎,這就是遞迴。

現在請你寫一個程式,印出將這 N 個環移到另一根柱子的過程。

輸入說明

輸入一個正整數 N (3<=N<=15)。

輸出說明

請依照下面輸出範例的格式,印出這些環移動的過程。

範例輸入 #1
3
範例輸出 #1
Ring 1 from 1 to 3
Ring 2 from 1 to 2
Ring 1 from 3 to 2
Ring 3 from 1 to 3
Ring 1 from 2 to 1
Ring 2 from 2 to 3
Ring 1 from 1 to 3
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (20%): 1.0s , <1K
公開 測資點#1 (20%): 1.0s , <1K
公開 測資點#2 (20%): 1.0s , <1K
公開 測資點#3 (20%): 1.0s , <1K
公開 測資點#4 (20%): 1.0s , <1K
提示 :
標籤:
遞迴
出處:
[管理者:
sagit (sagit)
]


編號 身分 題目 主題 人氣 發表日期
3
stu01 (temmie)
b023
概念
152 2022-04-25 22:02