幻方法則

南宋楊輝提出的數學概念

南宋楊輝不僅精通數學,而且精通易學,在他1275年所著的《續古摘奇演演算法》中,就對河圖和洛書的數學問題進行了詳盡的研究。其中對3階幻方的排列,找出了一種奇妙的規律:“九子斜排,上下對易,左右相更,四維挺出,戴九履一,左三右七,二四為肩,六八為足”,清代,李光地的《周易折中》把楊輝所概括的這種排列排列原理為“陽動陰靜”。

公式


我們通常所說的幻方是平面和幻方。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為例。
12345
678910
1112131415
1617181920
2122232425
2.橫錯位,將方格橫向錯位,每行錯位數為 n-行數,即第一行橫向移動n-1位,第二行橫向移動n-2位...直到形成一個左低右高的樓梯。
12345
678910
1112131415
1617181920
2122232425
3.橫補角,以中間行為基準,將突出的數字補回本行所缺的方格內,4,5補到1的前,10補到6前,16補到20后,21,22補到25后。從而重新得到一個n*n方格。
45123
106789
1112131415
1718192016
2324252122
4.豎錯位,將方格縱向錯位,每列錯位數為 n-列數,即第一列橫向移動n-1位,第二列橫向移動n-2位...直到形成一個左低右高的樓梯。
3
29
1815
571416
46132022
10121921
111825
1724
23
4.豎補角,以中間列為基準,將突出的數字補回本列所缺的方格內,17,23補到4上,24補到5上,2補到21下,3,9補到22下。從而重新得到一個n*n方格,及得到結果。
17241815
23571416
46132022
101219213
11182529
結語:錯位補角可以先橫后豎,也可以先豎后橫。樓梯可以左低右高,也可以左高右低。只要保證橫豎做出的樓梯方向相同,就能得到正確結果。一共可以求出4個答案。

偶階幻方

偶階幻方分為雙偶幻方和單偶幻方。一個n階幻方,當n為偶數時,我們稱幻方為偶階幻方;當n可以被4整除時,我們稱該偶階幻方為雙偶幻方,如8階、12階、16階等;當n不可被4整除時,我們稱該偶階幻方為單偶幻方,如6階、10階、14階等。
一、雙偶幻方的解法
能被4整除的n階幻方叫雙偶幻方,如8階、12階、16階等,雙偶幻方用Spring法、Strachey法生成。
1、Spring法生成雙偶幻方:
方法就是兩句話:順序填數,以中心點對稱互換數字。
將n階雙偶幻方表示為4m階幻方。將n階幻方看作一個矩陣,記為A,其中的第i行j列方格內的數字記為a(i,j)。
第一步,先令a(i,j)=(i-1)*n+j,即第一行從左到右可分別填寫1、2、3、……、n;即第二行從左到可分別填寫n+1、n+2、n+3、……、2n;…………n^2【n的平方】。
簡單地說,就是1放在幻方的任意一個角格,然後按同一個方向按順序依次填寫其餘數。
以8階幻方為例,順序填數。如下所示:
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 37 38 39 40
41 42 43 44 45 46 47 48
49 50 51 52 53 54 55 56
57 58 59 60 61 62 63 64
等等等等,共有8種方法。(以下我只以一種為例講解。其餘方法相同)
第二步,進行對稱交換。
對稱交換的方法有兩種:
方法一;將左上區域i+j為偶數的與幻方內以中心點為對稱點的右下角對角數字進行交換;將右上區域i+j為奇數的與幻方內以中心點為對稱點的左下角對角數字進行交換。(保證不同時為奇或偶即可。)
64 2 62 4 5 59 7 57
9 55 11 53 52 14 50 16
48 18 46 20 21 43 23 41
25 39 27 37 36 30 34 32
33 31 35 29 28 38 26 40
24 42 22 44 45 19 47 17
49 15 51 13 12 54 10 56
8 58 6 60 61 3 63 1
或,
1 63 3 61 60 6 58 8
56 10 54 12 13 51 15 49
17 47 19 45 44 22 42 24
40 26 38 28 29 35 31 33
32 34 30 36 37 27 39 25
41 23 43 21 20 46 18 48
16 50 14 52 53 11 55 9
57 7 59 5 4 62 2 64
完成幻方,幻和值260。
方法二;將幻方等分成m*m個4階幻方,將各4階幻方中對角線上(或非對角線上)的方格內數字與n階幻方內以中心點為對稱點的對角數字進行交換。
下圖為將各4階幻方中對角線上的方格內數字與n階幻方內以中心點為對稱點的對角數字進行交換,完成幻方,幻和值260。
64 2 3 61 60 6 7 57
9 55 54 12 13 51 50 16
17 47 46 20 21 43 42 24
40 26 27 37 36 30 31 33
32 34 35 29 28 38 39 25
41 23 22 44 45 19 18 48
49 15 14 52 53 11 10 56
8 58 59 5 4 62 63 1
下圖為將各4階幻方中非對角線上的方格內數字與n階幻方內以中心點為對稱點的對角數字進行交換,完成幻方,幻和值260。
1 63 62 4 5 59 58 8
56 10 11 53 52 14 15 49
48 18 19 45 44 22 23 41
25 39 38 28 29 35 34 32
33 31 30 36 37 27 26 40
24 42 43 21 20 46 47 17
16 50 51 13 12 54 55 9
57 7 6 60 61 3 2 64
2、Strachey法生成雙偶幻方
第一步,將n階雙偶幻方表示為4m階幻方。將其等分為四分,成為如下圖所示A、B、C、D四個2m階偶數幻方。
A C
D B
A用1至(2m)^2填寫成2m階幻方;B用(2m)^2+1至2*(2m)^2填寫成2m階幻方;C用2*(2m)^2+1至3*(2m)^2填寫成2m階幻方;D用3*(2m^)2+1至4*(2m)^2填寫成2m階幻方;
將8階雙偶幻方表示為4×2階幻方。將其等分為四個2×2階偶數幻方,即4階偶數幻方。
16 2 3 13 48 34 35 45
5 11 10 8 37 43 42 40
9 7 6 12 41 39 38 44
4 14 15 1 36 46 47 33
64 50 51 61 32 18 19 29
53 59 58 56 21 27 26 24
57 55 54 60 25 23 22 28
52 62 63 49 20 30 31 17
第三步,在A每行取m個小格(一側對角線格為必換格,其餘m-1格只要不是另一側對角線格即可),將其與D相應方格內交換;B與C以相同方法進行。
對於8階幻方,A每行取2個小格(一側對角線格為必換格,其餘1格只要不是另一側對角線格即可),要與D相應方格內交換;C與B以相同方法進行。
最簡單的方法就是:A任意2列,與D相對應的2列互換,C任意2列,與B相對應的2列互換即可。
64 50 3 13 48 34 19 29
53 59 10 8 37 43 26 24
57 55 6 12 41 39 22 28
52 62 15 1 36 46 31 17
16 2 51 61 32 18 35 45
5 11 58 56 21 27 42 40
9 7 54 60 25 23 38 44
4 14 63 49 20 30 47 33
64 50 3 13 32 18 35 45
53 59 10 8 21 27 42 40
57 55 6 12 25 23 38 44
52 62 15 1 20 30 47 33
16 2 51 61 48 34 19 29
5 11 58 56 37 43 26 24
9 7 54 60 41 39 22 28
4 14 63 49 36 46 31 17
等等完成幻方,幻和值260。
二、單偶幻方的解法
將n階單偶幻方表示為4m+2階幻方。將其等分為四分,成為如下圖所示A、B、C、D四個2m+1階奇數幻方。
A C
D B
A用1至(2m+1)^2填寫成(2m+1)階幻方;B用(2m+1)^2+1至2*(2m+1)^2填寫成(2m+1)階幻方;C用2*(2m+1)^2+1至3*(2m+1)2填寫成(2m+1)階幻方;D用3*(2m+1)^2+1至4*(2m+1)^2填寫成(2m+1)階幻方;
【註:(2m+1)^2是(2m+1)的平方,以下同】
8 1 6 26 19 24
3 5 7 21 23 25
4 9 2 22 27 20
35 28 33 17 10 15
30 32 34 12 14 16
31 36 29 13 18 11
在A陣中取左側m列與D陣對應小格對調;在C陣中取右側m-1列與B陣對應小格對調;最後在A陣中間行取中心格與左側一格與D陣對應小格對調。
6階幻方就是4*1+2,那麼m就是1。在A中間一行取中心格1個小格,其他行左側邊緣取1個小格,將其與D相應方格內交換;B與C接近右側m-1列相互交換(6階幻方m-1=0,則不用互換)。如下圖用Strachey法生成的6階幻方:
35 1 6 26 19 24
3 32 7 21 23 25
31 9 2 22 27 20
8 28 33 17 10 15
30 5 34 12 14 16
4 36 29 13 18 11
每一行,每一列,對角線的和值(稱為幻和值)為111。
一個n階幻方幻和值公式為:
Nn=1/2xn(n^2+1)
【註:n^2是n的平方】
N6=1/2x6x(36+1)=111