第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次魔方陣の方から挑戦していきましょう。
それでは皆さん、ビルドして作成ボタンを押すと
となるソフトを作りましょう。
初心者のためのjava 入門 基礎から応用まで
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすい vb 入門 vba 入門 基礎から応用まで 第1部
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ