演習課題「円盤4枚の移動回数を表示」

右側のコードエリアのJavaプログラムは、ハノイの塔で、円盤枚数と指定回数の状態を出力します。このプログラムを修正して、円盤40枚を20億回移動した状態を出力してください。

期待する出力値

40
--
count: 0
0: 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
1:
2:
--
count: 2000000000
0: 40 39 38 37 36 35 34 33 32 27 26 25 22 21 18 15 14 11
1: 31 30 29 24 23 20 17 16 13 10 9 8 7 6 5 4 3 2 1
2: 28 19 12

演習課題「円盤4枚の移動回数を表示」

右側のコードエリアのJavaプログラムは、ハノイの塔で、円盤4枚を7回移動した状態を出力します。ただし、movePartソッドに間違いがあって、正常に動作しません。このコードを修正して、正常な状態を出力してください。

期待する出力値

4
--
count: 0
0: 4 3 2 1
1:
2:
--
count: 7
0: 4
1: 3 2 1
2:

※有料会員になるとこの動画をご利用いただけます
詳しい説明を読む

#10:まとめて移動して、再帰を省略

ここでは、ハノイの塔のプログラムで、再帰処理の回数を減らして、円盤の枚数が多くなっても、状態を出力できるようにプログラムを改良します。