我们通常所说的幻方是平面和幻方。n阶幻方就是在n×n的方格中填上n^2【n的平方】个数,行、列和对角线的和值相等为完美幻方,行、列和值相等为不完美幻方。这一和值叫幻和值。
一个n阶幻方幻和值公式为:
Nn=1/2xn(n2+1)
【注:n2是n的平方】
幻方分为奇阶幻方和偶阶幻方,构成方法也不同。
一、Merzirac法生成奇阶幻方
在第一行居中的方格内放1,依次向右上方填入2、3、4…,如果右上方已有数字,则向下移一格继续填写。如下图用Merziral法生成的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
Merzirac法,有人也叫楼梯法,我管它叫斜步法,即走X+Y斜步(数字按右上方顺序填入),-Y跳步(如果右上方已有数字或出了对角线,则向下移一格继续填写)。
其实斜步法可以向4个方向依次填写数字,即右上、右下、左上、左下4个方向,每种斜步都可有2种跳步,即左(右)跳步、上(下)跳步。
对于X+Y斜步相应的跳步可以为-X,-Y。 【记住,跳步是X+Y斜步的X(或Y)相反方向即可。如右上方向斜步,跳步就为向左(或向下)一步;左下方向斜步,跳步就为向右(或向上)一步;等等等等】
二、loubere法生成奇阶幻方
在居中的方格向上一格内放1,依次向右上方填入2、3、4…,如果右上方已有数字,则向上移两格继续填写。如下图用Louberel法生成的5阶幻方:
23 6 19 2 15
10 18 1 14 22
17 5 13 21 9
4 12 25 8 16
11 24 7 20 3
上述loubere法可以记作X+Y斜步(数字按右上方顺序填入),2Y跳步(如果右上方已有数字或出了对角线,则向上移二格继续填写)。对于X+Y斜步相应的跳步可以为2X,2Y。 【记住,跳步是X+Y斜步的X(或Y)相同方向即可。】
2Y跳步,则在居中的方格向上一格放1里,按上斜步,2Y跳步的方法构成幻方。
-2Y跳步,则在居中的方格向下一格放1里,按下斜步,-2Y跳步的方法构成幻方。
2X跳步,则在居中的方格向右一格放1里,按右斜步,2X跳步的方法构成幻方。
-2X跳步,则在居中的方格向左一格放1里,按左斜步,-2X跳步的方法构成幻方。
三、horse法生成奇阶幻方
对于所有的奇阶幻方,在第一行居中的方格内放1,向右走1步,下走2步以跳马步,依次填入2、3、4…,若出到方阵下方,把该数字填到本该填数所在列上方相应的格;若出到方阵右方,把该数字填到本该填数所在行的左方相应的格;如果落步格已有数字, 则向下移一格继续填写。如下图用Horse法生成的5阶幻方:
23 12 1 20 9
4 18 7 21 15
10 24 13 2 16
11 5 19 8 22
17 6 25 14 3
n阶奇阶幻方,若n为不是3的倍数,那么在任意一格内放1,向右走1步,以跳马步下走2步,依次填入2、3、4…,若出到方阵下方,就把该数字填到本该填数所在列上方相应的格内;若出到方阵右方,就把该数字填到本该填数所在行的左方相应的格内;如果落步格已有数字, 则向上移一格继续填写。如下图所示,用Horse法生成的5阶幻方:
1 14 22 10 18
25 8 16 4 12
19 2 15 23 6
13 21 9 17 5
7 20 3 11 24
四、错位补角法生成奇阶幻方
1.对于所有的奇阶幻方,1-n*n从小到大填入n*n的方格中。以n=5时,1-25为例。
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 |
2.横错位,将方格横向错位,每行错位数为 n-行数,即第一行横向移动n-1位,第二行横向移动n-2位...直到形成一个左低右高的楼梯。
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 |
3.横补角,以中间行为基准,将突出的数字补回本行所缺的方格内,4,5补到1的前,10补到6前,16补到20后,21,22补到25后。从而重新得到一个n*n方格。
4 | 5 | 1 | 2 | 3 | ||
10 | 6 | 7 | 8 | 9 | ||
11 | 12 | 13 | 14 | 15 | ||
17 | 18 | 19 | 20 | 16 | ||
23 | 24 | 25 | 21 | 22 |
4.竖错位,将方格纵向错位,每列错位数为 n-列数,即第一列横向移动n-1位,第二列横向移动n-2位...直到形成一个左低右高的楼梯。
3 | ||||||
2 | 9 | |||||
1 | 8 | 15 | ||||
5 | 7 | 14 | 16 | |||
4 | 6 | 13 | 20 | 22 | ||
10 | 12 | 19 | 21 | |||
11 | 18 | 25 | ||||
17 | 24 | |||||
23 |
4.竖补角,以中间列为基准,将突出的数字补回本列所缺的方格内,17,23补到4上,24补到5上,2补到21下,3,9补到22下。从而重新得到一个n*n方格,及得到结果。
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 |
结语:错位补角可以先横后竖,也可以先竖后横。楼梯可以左低右高,也可以左高右低。只要保证横竖做出的楼梯方向相同,就能得到正确结果。一共可以求出4个答案。
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 |