『魔方陣』

『魔方陣』解答


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

法則1
 将棋の角のように進み1からNまでつながって行く。
 1)45度。
 2)135度。
 3)225度。
 4)315度。
 の4つの方向が可能。

法則2
 途中でNの倍数に着いたとき次の数で方向を変える。
 その変え方は、法則1のどの方向に進んでいるかによって決まる。

法則3
   1の出発点(N,M)をどこに取るかによって、法則1、法則2が拘束してくる。
 このコンピュータの作るN=5、1(1,3)を例に説明する。


    18 25  2  9          
 17 24  1  8 15 17      
 23  5  7 14 16 23
  4  6 13 20 22  4
 10 12 19 21  3 10 
 11 18 25  2  9

 45度の方向で進みマスから出た場合は対面に移動。
 またこの例では5,10,15,20(5の倍数)で、次の数を下の方向にとる。
 この方法で下図の5次の魔方陣が出来上がる。


 17 24  1  8 15
 23  5  7 14 16
  4  6 13 20 22
 10 12 19 21  3
 11 18 25  2  9   以上です。


【コメント】

 はい、完全な正解です。
言葉で表現するということは大変難しいと思うのですが、さすがですね。
Nが奇数であれば、次数に関係なくこの方法でできるはずです。
小・中学生の人はぜひこの規則でもっと大きな魔方陣も作ってみてくださいね。


◆石川県 数学好き さんからの解答。

コンピュータの作り方は

  1. 1行目の中央に1を入れる。

  2. 入れる数を魔方陣の大きさNで割った余りが1であれば、すぐ下へ進み、そうでなければ斜め上に進む。

  3. もし上にはみ出した場合は、同じ列の一番下へ移る。

  4. もし右にはみ出した場合は、同じ行の一番左へ移る。
他にもいろいろな表現があると思います。


◆東京都の大学生 原田 一義さんからの解答。

同じような事なんですけれども...

以下では,魔方陣の縦の大きさをNで表すことにします。
(N=5の場合の図も示すことにします)。

まず,1からNまでの数を左上から右下に向って45度の角度で並べ,1とNのちょうど真中の数が, 魔方陣の右上のマス目に来るように置きます。



            1

                2
     ┌──┬──┬──┬──┬──┐
     │  │  │  │  │ 3│
     ├──┼──┼──┼──┼──┤
     │  │  │  │  │  │ 4
     ├──┼──┼──┼──┼──┤
     │  │  │  │  │  │    5
     ├──┼──┼──┼──┼──┤
     │  │  │  │  │  │
     ├──┼──┼──┼──┼──┤
     │  │  │  │  │  │
     └──┴──┴──┴──┴──┘
次に,今並べた数の列を左に1マス,下に1マス動かした位置に, 今度はN+1から2Nまでの数を,やはり左上から右下に向って45度の角度で並べます。


             1

          6     2
     ┌──┬──┬──┬──┬──┐
     │  │  │ 7│  │ 3│
     ├──┼──┼──┼──┼──┤
     │  │  │  │ 8│  │ 4
     ├──┼──┼──┼──┼──┤
     │  │  │  │  │ 9│    5
     ├──┼──┼──┼──┼──┤
     │  │  │  │  │  │10
     ├──┼──┼──┼──┼──┤
     │  │  │  │  │  │
     └──┴──┴──┴──┴──┘
これを,N×Nまで繰り返します.

             1

          6     2
     ┌──┬──┬──┬──┬──┐
     │11│  │ 7│  │ 3│
     ├──┼──┼──┼──┼──┤
   16│  │12│  │ 8│  │ 4
     ├──┼──┼──┼──┼──┤
21   │17│  │13│  │ 9│    5
     ├──┼──┼──┼──┼──┤
   22│  │18│  │14│  │10
     ├──┼──┼──┼──┼──┤
     │23│  │19│  │15│
     └──┴──┴──┴──┴──┘
         24    20

            25
最後に,魔方陣のマス目からはみ出した数を,マス目の中に移動します。
それぞれ,魔方陣の

上側にはみ出している数は下に向かってNマス分移動,
下側にはみ出している数は上に向ってNマス分移動,
右側にはみ出している数は左に向ってNマス分移動,
左側にはみ出している数は右に向ってNマス分移動します。


     ┌──┬──┬──┬──┬──┐
     │11│24│ 7│20│ 3│
     ├──┼──┼──┼──┼──┤
     │ 4│12│25│ 8│16│
     ├──┼──┼──┼──┼──┤
     │17│ 5│13│21│ 9│
     ├──┼──┼──┼──┼──┤
     │10│18│ 1│14│22│
     ├──┼──┼──┼──┼──┤
     │23│ 6│19│ 2│15│
     └──┴──┴──┴──┴──┘
魔方陣のできあがりです.


【コメント】

 これは大変分かりやすい解答ですね。
この図があれば、小学生でも理解できると思います。
素晴らしい解答をありがとうございました。
実際に作るときには、この方法がよいのではないでしょうか。


◆北海道の中学校2年生 オペラ原人 さんからの解答。

奇数の魔方陣は、まず一番上の行の真ん中に1を書き込む。
今度はその1を右上にマス目があると仮定して1の右上に2を書き込む。
しかしこの場合、2が魔方陣の外に出てしまうため、2を魔方陣の一番下にもってくる。

例えば、3×3の魔方陣の場合、2は一番下の一番右にくることになる。
次に2の右上に、3を書く。
もしもこの時、3が魔方陣から出てしまった場合、3を真ん中の行の一番左に置く。

その次も同じようにやるのだが、もしも数字が重なってしまった場合、次の数字をもとの数字の下に置く。
例えば、3から4で4が重なってしまった場合は4を3の下に置く。

そんな感じで作っていけば、奇数の魔方陣は完成する。

感想は、この作りかたを知っていればどんな奇数の魔方陣でも作れるはずだから、すこしおもしろい。


◆神奈川県の小学生 てつろー さんからの解答。

魔方陣の簡単な作り方

まず、Aの場所に、1を入れます。
一番下の列の真ん中です。

次に、今書いた1の左下に2を書きます。
左下は、・ですが、ここにはマスがないため、その列の1番上にかきます。
(つまりBの所。)

また左下に書きます。
左下は・ですが、ここにもマスがないため、その列の1番右に書きます。
(つまりCのところ)

次も左下に書きます。
でももう左下には数字が入っているため、その上のDのところに書きます。

左下、左下、と6まで入れます。
1番左下のマスにきてしまったら、その上に書きます。
(つまりEの所)

そしてまた左下、左下、に数字を入れて、全てのマスに数字が入ったら、完成です。

下はこの方法で書いた、7×7の魔方陣です。

201149403122
124341322321
444233241513
453634251614
3735261746
2927184738
281910483930


◆北海道の小学生 abe さんからの解答。

升目がN*Nのとき(N=奇数)真中に(N*N+1)/2の数字をおく

x x x x x x x
x x x x x x x
x x x x x x x
x x x 25x x x
x x x x x x x
x x x x x x x
x x x x x x x
2.対角線に沿って(片方)数字の列?ができるようにおいていく
x x x x x x 28
x x x x x 27x
x x x x 26x x
x x x 25x x x
x x 24x x x x
x 23x x x x x
22x x x x x x
3.一番大きい数字の2個上に次の数字を置く(上下ループだと考える)
x x x x x x 28
x x x x x 27x
x x x x 26x x
x x x 25x x x
x x 24x x x x
x 23x x x x 29
22x x x x x x
4.その数字の右上の順番に沿って数を埋める
x x x x 34x 28
x x x 33x 27x
x x 32x 26x x
x 31x 25x x x
30x 24x x x x
x 23x x x x 29
22x x x x 35x
5.Nの倍数までやったら、上に2個進んだところに次の数字をおく
x x x x 34x 28
x x x 33x 27x
x x 32x 26x x
x 31x 25x x x
30x 24x x 36x
x 23x x x x 29
22x x x x 35x
6. 4と5を繰り返す
46 x  40 x  34 x  28
x  39 x  33 x  27 45
38 x  32 x  26 44 x
x  31 x  25 43 x  37
30 x  24 49 x  36 x
x  23 48 x  42 x  29
22 47 x  41 x  35 x
7.N*Nの数値まで行ったら、うえに2つのところに1をおく
46 x  40 x  34 x  28
x  39 x  33 x  27 45
38 x  32 1  26 44 x
x  31 x  25 43 x  37
30 x  24 49 x  36 x
x  23 48 x  42 x  29
22 47 x  41 x  35 x
6. 4と5を繰り返す、全部埋まったら完成
46 15 40 9  34 3  28
21 39 8  33 2  27 45
38 14 32 1  26 44 20
13 31 7  25 43 19 37
30 6  24 49 18 36 12
5  23 48 17 42 11 29
22 47 16 41 10 35 4


◆岐阜県の中学校3年生 42633大好き さんからの解答。

1の場所を決めたら同じ方向に桂馬とびをして、止まったところに数字を順番に書いていきます。
(右に1個、下に2個動いたのなら、それをずっと繰り返します。)

下に、1個足りなくなった場合…その列の一番上に書く。
下に、2個足りなくなった場合…その列の上から2番目く。
右に一列足りない場合…一番左の列に書く。
このとき、上から何番目に書くかは、もし、もう一列右にあった時に書かれる所と同じ高さに書く。

もう、数字が書かれていた場合…書かれている数字のところから、今まで進んでいた方向と反対にい1回桂馬とびをしてそこに、数字を書き、書いたところから、また前と同じ方向に進む。
(右に1個、下に2個動いていて書かれていた場合は1度だけ左に1個、下に2個動き、そこに数字を書いたら、また、右に1個、下に2個動く。)

これを繰り返せば出来あがります!!


◆福岡県の中学校2年生 河野 貴国 さんからの解答。

1,まず四角の真ん中の列の一番上の段に1(何でもいい)を入れる

OO1OO
OOOOO
OOOOO
OOOOO
OOOOO
2,その右上に2(前の数+1)をいれる。
しかし、こんな時は入らないので、その列の最下段に入れる
   *
OO1OO
OOOOO
OOOOO
OOOOO
OOO2O
3,右に出たときは(前の数+1)をその段の一番左の列に入れる
OO1OO
OOOOO
4OOOO*
OOOO3
OOO2O
4,数字が右上にあったり、四角の右上に来たときは、一つ下の所に次の数を入れる
            *
O O 1 8 15 
      ↓
O 5 7 14 16 
  ↓
4 6 13 O O 

10 12 O O 3 
↓
11 O O 2 9 
5,2〜4を繰り返す

完成図

17  24  1  8  15 

23  5  7  14  16 

4  6  13  20  22 

10  12  19  21  3 

11  18  25  2  9 

◆神奈川県の中学校2年生 でんぢゃらすにーちゃん さんからの解答。

一言で言えば、右上に向かって数字をいれていく。

二言以上で言えば、まず一番上の段の真ん中に1をいれ、右上に向かって数字を入れ..たいところだけど魔方陣の外 に出ちゃうから、一番下の段にワープする。
要するに1をいれた行の1つ右の列に2をいれる。
そしてどんどん3,4、5、と数字をいれていく。
もし魔方陣の外に出ちゃったら、出ちゃった辺と反対の辺にワープ(さっきみたいに)する。
もし他の数字に出会っちゃったら、1つ下にいって続ける。
もし角に来ちゃったら、やっぱり1つ下にいって続ける。
最後は、1のある列の一番下にくるはず。


 『魔方陣』へ

 数学の部屋へもどる