〜 教材サンプル ”演習問題29 再帰呼び出し(ハノイの塔)” 〜

TopPageへ戻る

カリキュラムのTopへ戻る

プログラミング講座概要へ戻る


演習問題29 

問1.再帰呼び出しを利用して、n枚のハノイの塔を移すプログラムを作成して下さい。

(解答欄)

 

 

 

 

 

 

※ハノイの塔とは・・・「3本の杭a,b,cがあります。杭aに中央には穴の開いたn枚の円板が大きい順に積まれています。これを1枚ずつ移動させて杭bへ移す手順を示しなさい。ただし、移動の途中で円板の大小が逆に詰まれてはいけません。また、杭cは作業用に使用してもかまいません。」

(ヒント)

n枚の板をa → bに移す再帰手続きは次のようになります。

@上の(n−1)枚の板をa → cに移す手順を求める(再帰呼び出し)。
A一番下(n番目)の板をa → bに移す。
B杭cの(n−1)枚の板をc → bに移す手順を求める(再帰呼び出し)。

今、n枚の板をa → bに移す手続きを 

hanoi(n,a,b,c)

とすると、n−1枚の板をa → cに移す呼び出しは、

hanoi(n−1,a,c,b)

n−1枚の板をc → bに移す呼び出しは、

hanoi(n−1,c,b,a)

となります。
 


〒594-0031 大阪府和泉市伏屋町3−7−9 ISビル4F、5F(本部)

 日商指定校 パソコンスクール PCランド

  光明池駅前校和泉中央校 泉ヶ丘駅前校

TEL.0725-57-1451/FAX.0725-57-5206

.

E-Mail Address:info2@pcland.jp