第9講 4次魔方陣と6次魔方陣の作成
第1話 魔方陣とは?

第6講の一番最後に予告した通り、第9講では魔方陣を扱います。
詳しくは、本サイトのメニューの魔方陣を参照して頂きたいと思いますが、
次のような方陣を魔方陣と言います。

8 1 6
3 5 7
4 9 2


1 6 11 16
15 12 5 2
8 3 14 9
10 13 4 7


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

皆さんどうなっているか、お分かりですか。そうです。各行、各列の合計が同じになっています。
それだけですか。
対角線の合計も同じになっています。
このような方陣を魔方陣と言います。
そして、一辺が3のとき3次魔方陣、一辺が4のとき4次魔方陣などと言います。
学習が進むと、すべての魔方陣(例えば、22次魔方陣)などに挑戦することになりますが、
とりあえずこの第9講では、4次魔方陣と6次魔方陣の作成に挑戦します。
4次魔方陣と6次魔方陣には、とっても簡単な解法が存在するからです。

4次魔方陣の方から説明しましょう。

まず、普通の自然配列を考えます。

 1  2  3  4
 5  6  7  8
 9 10 11 12
13 14 15 16

この段階ですでに対角線の合計が34になっています。そして、

 1  2  3  4
 5  6  7  8
 9 10 11 12
13 14 15 16

対角線のところを4次方陣の真ん中を中心にして点対称移動をしてみましょう。

16  2  3 13
 5 11 10  8
 9  7  6 12
 4 14 15  1


16  2  3 13
 5 11 10  8
 9  7  6 12
 4 14 15  1

そうすると不思議なことに、すべての横合計、縦合計が同じ34になっています。
つまり、4次魔方陣が完成してしまったわけです。

6次魔方陣になるともう少し複雑ですが、似た方法でできます。

最初に自然配列を作ります。

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

そして、

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

ピンクは中心に対して点対称移動、
薄緑は中央の直線に対して上下に線対称移動、
紺色は中央の直線に対して左右に線対称移動
を行います。すると、

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


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

となり6次魔方陣が完成します。

(これを不思議だと感じた方は、是非とも魔方陣をクリックしてすべてのページに目を通してください。
いまでこそ初心者のためのVisual Basic入門講義での訪問者が第1位になるようになりましたが
(そしておそらく初心者のためのVisual C++入門講義基礎編がまもなくそれに迫るでしょうが。)、
以前の本サイトの最大ヒット数を稼いだページは魔方陣でした。
本サイトは、魔方陣の研究から始まったのです。)
この方法で、Visual C++によって魔方陣を作成しようというのが第9講です。


4次魔方陣の方から挑戦していきましょう。

それでは皆さん、ビルドして作成ボタンを押すと
となるソフトを作りましょう。


第8講第6話へ 第2話へ



初心者のためのjava 入門 基礎から応用まで
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすい vb 入門 vba 入門 基礎から応用まで 第1部
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ