|
**********************************
猫の手さんの魔方陣
**********************************
|
|
魔方陣の世界へようこそ
**********************************************
魔方陣(まほうじん、英:Magic square)をご存知ですか?
魔方陣とは1〜Nまでの数字をN×N個の正方形の方陣に数字を配置し「縦、横の合計が等しく
なる」ように並べた行列です。
さらに縦、横だけでなく「斜めの合計も等しくなる」ような魔方陣もあります。
また上下左右に4等分すると、それぞれの合計も等しくなるものや、さらに対角線からはずれた
斜め方向でも、四つの数字の和が等しくなる 完全魔方陣もあります。
アニメやファンタジーなどで用いられる「魔法陣」とは無関係です。
下に9マスの魔方陣を1例として紹介します。
これは縦・横・斜めの合計が「15」となる魔方陣です。
ご覧の通り縦・横・対角線のいずれの列についても合計(黄色枠)が「15」となっています。
**********************************************
15 | 15 | 15 | 15 | 15 |
15 | 8 | 1 | 6 | 15 |
15 | 3 | 5 | 7 | 15 |
15 | 4 | 9 | 2 | 15 |
15 | 15 | 15 | 15 | 15 |
**********************************************
魔方陣が成立する「縦、横の合計」
次の式で計算することができます。
n を魔方陣のサイズとします。
配列 t[n][n] に1〜(n*n+1) の値が格納されることになります。
縦(横)の合計= (n*n+1)*n/2; となります。
**********************************************
魔方陣 | 式 | 合計 | >
3 | (3*3+1)*3/2 | 15 |
4 | (4*4+1)*4/2 | 34 |
5 | (5*5+1)*5/2 | 65 |
6 | (6*6+1)*6/2 | 111 |
7 | (7*7+1)*7/2 | 175 |
8 | (8*8+1)*8/2 | 260 |
12 | (12*12+1)*12/2 | 870 |
16 | (16*16+1)*16/2 | 2056 |