『ハノイの塔』

『ハノイの塔』解答


◆広島県 清川 育男さんからの解答。

【問題1】

N=1 のとき   1回。
N=2 のとき   3回。
N=3 のとき   7回。
N=4 のとき  15回。

・・・・・・・・・・・・

N=n のとき  2n−1回。

A1=1。An=2×An-1+1。 

答え(2n−1)回。


【コメント】

 このパズルは数学的にきちんとしていますから、解析するのは比較的やさしいですね。
公式ができれば「問題2」も電卓を使えば簡単に解けるはずです。
冗談みたいな問題ですが、ぜひ考えてみてくださいね。


◆広島県 清川 育男さんからの解答。

【問題2】

 264−1
=18446744073709551999。

1年は365日として、
60×60×24×365=31536000(秒)。

約5850億年後には地球は崩壊していると。
地球が誕生して何億年になるのでしたかね。


【コメント】

 地球が誕生してから、約46億年だそうです。
5850億年後ですか。
まあ、自分は生きていないような気がするので、世界が滅んでもいいでしょう!!


◆石川県 Takashiさんからの解答。

N枚の円盤をA〜Cに移すのに必要な回数をT(n)とする。
N段目の円盤をA〜Cに移すには、n−1段の円盤は全てBに存在していなければならない。

N段の円盤を全てA〜Cに移すには、

T(n-1)回かけてn−1段をA〜Bに移し、
その後N段目をA〜Cに移し、
最後にT(n-1)回かけてn−1段をB〜Cに移さなければならない。

よって、

 T(n)=2T(n-1)+1、T(1)=1

計算すると、
T(n)=n-1

j=0
j

T(n)=2n−1

<感想>

このパズルは、一番下の段を動かすためにそれより上の段を全て1ヶ所に移動しなければならないので【解】のような考え方がもっとも適切だと思います。


【コメント】

 実は、プログラム自体がこの方法を用いて作られているのですが(再帰)、アルゴリズム的には最もきれいですね。


◆三重県 久保田 尚 さんからの解答。

『ハノイの塔』は、選択授業で取り上げました。

生徒には、色ケント紙を使って大きさの違う円を作り、小さな順にA、B、C、D、E、Fとアルファベットを書いて6枚渡し、動かした順番にアルファベットを書いて、動いた回数を書かせるようにしました。

結果は、


となり、気がつく特徴は でした。

1枚少ないときに関連して考えることはできたんだけど、一般式は思いつかないので(当たり前だけど)、それぞれの回数に1を足したらどうなるか考えさせたら、2の枚数乗になることに気がつき、
n枚の時はn2−1ということもわかって、そのシンプルさに驚いていました。

他には、回数を2進数で表すと、

1(1枚)、11(2枚)、111(3枚)・・・・と、1が枚数分だけ並ぶというのも美しいと思います。
(案外2進法というのが、この問題のポイントなのかもしれませんね)


◆大阪府の高校生 satoru さんからの解答。

数列で考えて、n枚のときをAnとする。

nは、 An=An‐1+1+An‐1
(普通に考えればわかるので説明は略)

これを式変形して(説明略)

n+1=2(An-1+1)

この式は、等比数列の形なので A1=1より

n+1=(1+1)2n-1

よってAn=2―1(答)


◆和歌山県の中学校3年生 中辺路中学校選択数学5人衆 さんからの解答。

1枚から8枚まで実際に動かしてみて、その回数の規則性をみんなで考えました。

1枚   1回
2枚   3回 =  1×2+1
3枚   7回 =  3×2+1
4枚  15回 =  7×2+1 
5枚  31回 = 15×2+1
6枚  63回 = 31×2+1
7枚 127回 = 63×2+1
8枚 255回 =127×2+1
n枚 (n-1)枚の回数×2+1
というわけで、
「回数は、1つ前の枚数の回数を2倍して1を足せばよい」というのが5人の一致した意見です。


◆和歌山県の中学校3年生 中辺路中学校選択数学5人衆 さんからの解答。

ヒントをもとに、みんなでもう一度考えました。
そして、次のことに気が付きました。

   2=2
   4=2
   8=2
  16=2
  32=2
  64=2
 128=2
 256=2
よって、n枚=2 - 1 で、
(2のn乗 - 1) となることに気が付きました。

このことについては、この前の時間には気がつきませんでした。
みんなでああなるほどと納得しました。


◆香川県の中学校3年生 ぺこ さんからの解答。

円盤の数回数n
112
234
378
41516
53132
・・・・・
n2n-12n


◆兵庫県の高校生 積 さんま さんからの解答。

64−1
=18446744073709551615。

18446744073709551615÷3600÷24÷365
=584942417355.07・・・・・

従って A, 5849億年後


◆福岡県の高校生 くおれ さんからの解答。

n-1個の円盤を動かす。
n番目の円盤を動かす。
その上にまたn-1個の円盤を動かす。
以上より An=2An-1+1
よって2n−1


◆海外 あぱれる さんからの解答。

264 は 18446744073709552000 ではないだろう。

264 に対して 1 は誤差として,
210 = 103 と近似すると.

24 x (103)6 秒かかる.

で,一年は 60x60x24x365 秒で
これも近似して,32x106

24 x 1018
32 x 106
= 500 x 109

で,五千億年.


◆京都府 いてまえ? さんからの解答。

「数学的帰納法」で2n―1回になることを証明する。

ポイントは、次の1枚をふやすためには、上の段の円盤をすべて移動して、下の1枚を移動したあと、また、その上に上の円盤をすべて移動させることを繰り返す。

n=1のときは、もちろん成り立ちます。

n=kのとき成り立つとすると、
n=k+1のとき、(2k-1)+1+(2k-1)

これを計算すると、2k+1-1

となって、先の式のnにk+1を代入したものと同じになる。
したがって、すべてのnについて成り立つ。


◆東京都の小学生 遼太朗 さんからの解答。

まず、3枚の時には3+1+3=7です。

そして、4枚の時は3枚の答えの7+1+7となります。
答えは15です。

5枚の時は4枚の答えである15+1+15となります。

このとおり、前の枚数の全部をたした答えに1をたして、そしてまた前の枚数の足した答えを足すことです。


◆愛知県の中学校2年生 高橋 大志 さんからの解答。

【問題1】

n=1のとき1回
n=2のとき3回
n=3のとき7回
n=4のとき15回
n=5のとき31回

    ・
    ・
    ・

となるので、求め方は (2nー1) となる。

【高橋 大志 さんからのコメント】

これはわりと簡単ですね。
実は、昨年行われた第5回日本ジュニア数学コンクールに、これ(ハノイの塔)に関係のある問題があったんですよ。
皆さん知ってましたか?


◆栃木県の中学校1年生 たかたか さんからの解答。

円板の数をx枚とすると、世界が終わるまでの時間は、(2-1)秒となる。

64枚の円板があるとき、一回の移動に1秒かかるとすると、

 264-1
=18,446,744,073,709,551,616-1
=18,446,744,073,709,551,615秒となる。

これを年,日,時,分,秒に直すと、

18446744073709551615(sec)/60/60/24/365

=307445734561825860(min)/60/24/365        |あまり15(sec)
                                          |
=5124095576030431(hour)/24/365            |あまり0(min)
                                          |
=213503982334601(day)                     |あまり7(hour)
                                          |
=584942417355(year)                       |あまり26(day)
5849億4241千7355年 26日 7時間 0分 15秒となる。

つまり、世界が終わる心配は無用なわけである。


◆東京都の中学校1年生 akito さんからの解答。

答えは2n−1である。

n=kで移動にかかる手数が2k-1とする。

n=k+1においては一番大きな円盤を動かすためにk段の塔を他の一本に動かしまとめる必要がある。
そこまでに2k-1手かかり、一番大きな円盤を動かすのに1手、
さらにその上にk段の塔を乗せるのに、2k-1手、
合計で2k+1-1手である。

よって帰納的に最初の解が正しいことが証明されている。
(n=1は明らか)


◆北海道の小学生 ぎしょう さんからの解答。

円盤

n=1のとき:円盤をAからCへ移動
n>1のとき:

  1. (n-1)枚をAからBへ移動
  2. 残り1枚をAからCへ移動
  3. (n-1)枚をBからCへ移動
入力nの時の計算回数M(n)を再帰的に定義すると、

n=1のとき:M(n)=1

n>1のとき:M(n)=2M(n-1)+1

M(n)
=2M(n-1)+1
=2(2M(n-2)+1)+1
・・・・・・
=2n-1+2n-2+2n-2-1
=2n-1 

∴2n-1


◆新潟県の中学校3年生 komodo さんからの解答。

最近あった市の人材教育「数学アカデミー」課題学習内にありやってみました。

円盤が三枚なら

|1| | |
|2| | |
|3| | |

のようにして、モデルとして表し円盤が6枚までやり表にまとめました。

153163


その際にYの値が、+2,+4,+8…となっていくことに注目し
y=2x-1という式にたどり着きました。

また、その課題の中で円盤が64枚の場合の回数の問題もあったので、先ほどの式に代入して
y=264-1

264を電卓で求めようとしたのですが、桁が表示しきれないので

264
=432
=1616
=(162)8
=2568
=(2562)4
=655364
=(655362)2
=42949672962

そして、42949672962を地道に計算して、
18446744073709551616が出ましたので、

y=18446744073709551616-1 =18446744073709551615

として回数を求めました。


◆大阪府 assa さんからの解答。

まず、1個なら1回、2個なら3回。3個なら小さい2個を移動して最下段を移動してもう一度小さい2個を今度は大 きい円盤の上に乗せるので、
3+1+3=3×2+1=7、

4個ならまず小さい3個を移動して最下段を移してその上に小さい3個を移動してくるので、
7×2+1=15、

同様に5個なら15X2+1=31。
漸化式はA(n+1)=2A(n)+1

これを変形すると、
A(n+1)+1=2(A(n)+1)
A(n)+1=(A(0)+1)*2n=2n

答え、A(n)=2n-1


◆広島県 yoshihioro さんからの解答。

N枚の円盤を移動させるのに必要な回数をa(n)として
N+1枚の円盤を移動させるのに必要な回数a(n+1)を求めて漸化式を数学的に解いてやればイイ。

つまりn+1枚の円盤を考えるが、まず一番下の(n+1番目)の円盤を無視して考えてやる。

n枚の円盤を一つの棒に(ここではBの棒)移す。
このときa(n)回必要。
そのあと、n+1番目の円盤をcに移す。
これでa(n)+1回。

そのあとBに重なっているn枚の円盤をcに移してやるのに必要な回数はa(n)回。
よって合計2a(n)+1回必要ということになり、
a(n+1)=2a(n)+1という高校二年生で習う代表的な漸化式を解いてやれば終了。

a(3)=7であるからn枚の円盤をすべて移動させるのに必要な移動回数は
nー1。


 『ハノイの塔』へ

 数学の部屋へもどる