第15講 3次魔方陣と4次魔方陣の作成
第1話 基本的考え方
今回挑戦する方法は、まさに力業です。
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
1 | 2 | 3 |
4 | 5 | 6 |
7 | 9 | 8 |
1 | 2 | 3 |
4 | 5 | 6 |
8 | 7 | 9 |
1 | 2 | 3 |
4 | 5 | 6 |
8 | 9 | 7 |
1 | 2 | 3 |
4 | 5 | 6 |
9 | 7 | 8 |
1 | 2 | 3 |
4 | 5 | 6 |
9 | 8 | 7 |
1 | 2 | 3 |
4 | 5 | 7 |
6 | 8 | 9 |
1 | 2 | 3 |
4 | 5 | 7 |
6 | 9 | 8 |
1 | 2 | 3 |
4 | 5 | 7 |
8 | 6 | 9 |
1 | 2 | 3 |
4 | 5 | 7 |
8 | 9 | 6 |
...
などすべての場合を考えて、その中で魔方陣の条件を満たすものを探す出すというものです。
上に列挙したものは123456789の順列をただ2次元に並べたものに他なりません。
ではどのようにしたら1次元の順列を2次元に並べることが出来るでしょうか。
それにはセル番号を次のように付けることが出来れば、成功します。
0 | 1 | 2 |
3 | 4 | 5 |
6 | 7 | 8 |
順列作成のときにも、強調した非常に重要な注意を述べたいと思います。
それは、セル番号とセルに入る数字を明確に区別しなければならないと言うことです。
ビール瓶の例えでは、セル番号はビール瓶のラベルに相当し、セルにはいる数字は瓶に入っているビールに相当します。
似たような012345678と123456789ですが、次元が異なるのです。
セルは番地に対応し、入る数字はその番地に立っている建物に相当します。
住所とそこに建っている建物は、まったく次元の違うものですね。
住所である012345678とそこにある内容である123456789の概念を明確に区別しないと訳がわからなくなります。
プログラムにおいては、使われている数量の次元の違いを明瞭に把握する必要があります。
さて、ではセル番号を上表の通りに付けるにはどうしたらよいでしょうか。
VBA講義第1部へ
vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual aasic入門基礎講座へ
数学研究室に戻る