打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何填写幻方
作者:尹春来  时间:2014年3月
 
这是我于1999年9月26日构造的数学模型。我的这篇文件曾被包括百度等网站引用。近几天没事儿,就从新整理了一下,放在我的博客中,以供参考。根据下述模型,可以很方便生成幻方,并可编制幻方的应用程序。

一、什么是幻方

在一个由若干个排列整齐的数组成的正方形中,图中任意一横行、一纵行及对角线的几个数之和都相等,具有这种性质的图表,称为“幻方”。我国古代称为“河图”、“洛书”,又叫“纵横图”。

二、奇阶幻方的填法
当行(列)n为奇数时,我们称幻方为奇阶幻方。
对于奇阶幻方,可以使用Merzirac法与loubere法,根据我的研究,发现用国际象棋之马步也可构造出更为神奇的奇幻方,故命名为horse法。
 
1、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

如填定数字超出幻方格范围,则把幻方看成是可以无限伸展的图形,如下图:

1

2

3

1

2

3

1

2

3

3

4

5

3

4

5

3

4

5

7

8

9

7

8

9

7

8

9

1

2

3

1

2

3

1

2

3

3

4

5

4

5

6

3

4

5

7

8

9

7

8

9

7

8

9

1

2

3

1

2

3

1

2

3

3

4

5

3

4

5

3

4

5

7

8

9

7

8

9

7

8

9

将n阶幻方看作一个矩阵,记为A,其中的第i行j列方格内的数字记为a(i,j)。当填写到i>n时,i=i-n,j同样如此。

2、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

3、horse
在第一行居中的方格内放1。向左走1步,并下走2步放入2(称为马步),向左走1步,并下走2步放入3,依次类推放到n。在n的下方放入n+1(称为跳步),再按上述方法放置到2n,在2n的下边放入2n+1?……
如下图用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

一般的,令矩阵[1,1]为向右走一步,向上走一步,[-1,0]为向左走一步。则马步可以表示为2X+Y,{X∈{[1,0], [-1,0]},Y∈{[0,1], [0,-1]}}∪{Y∈{[1,0], [-1,0]},X∈{[0,1], [0,-1]}}。对于2X+Y相应的跳步可以为X,-X,Y,-Y。上面的是X型跳步。Horse法生成的幻方为魔鬼幻方。
 
三、偶阶幻方的填法
当行(列)n为偶数时,我们称幻方为偶阶幻方。
对于偶阶幻方,可以应用Hire法、Strachey以及YinMagic(是我于2002年设计的模型)将其实现,Strachey为单偶模型,我对双偶(4m阶)进行了重新修改,制作了另一个可行的数学模型,称之为Spring。
 
1、Hire
将n阶幻方看作一个矩阵,记为A,其中的第i行j列方格内的数字记为a(i,j)。
在A内两对角线上填写1、2、3、……、n,各行再填写1、2、3、……、n,使各行各列数字之和为n×(n+1)/2。
填写方法为:将对角线上从左到右填写1到n;之后在没有填数字的格字内按下列顺序填数字:第1行从n到1顺序填写(因为1与n已经填了,所以只要按倒序填其他数字),从第2行起到第n/2行按从顺序1到n进行填写;从第n/2+1到第n行按n到1倒序进行填写,注意,因为对角线的方格已经先填好了,所以这个数字不变。最后将第2行第1列改为n,第2行第n列改为1。如下所示为6阶填写方法:

1

5

4

3

2

6

6

2

3

4

5

1

1

2

3

4

5

6

6

5

3

4

2

1

6

2

4

3

5

1

1

5

4

3

2

6

如下所示为8阶填写方法(转置以后)
 

1

8

1

1

8

8

8

1

7

2

2

2

7

7

2

7

6

3

3

3

6

3

6

6

5

4

4

4

4

5

5

5

4

5

5

5

5

4

4

4

3

6

6

6

3

6

3

3

2

7

7

7

2

2

7

2

8

1

8

8

1

1

1

8

 
上所有数字分别按如下算法计算,得到,其中b(i,j)=n×(a(i,j)-1)。则T+为目标幻方(T为的转置矩阵)。如下图用Hire法生成的6阶幻方:

1

35

4

33

32

6

30

8

9

28

11

25

19

14

15

16

23

24

18

23

21

22

14

13

12

26

28

9

29

7

31

5

34

3

2

36

2、Strachey
将n阶单偶幻方表示为4m+2阶幻方。
将其等分为四分,成为如下图所示A、B、C、D四个2m+1阶奇数幻方。

A

C

D

B

A用1至2m+1填写成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阶幻方;在A中间一行取m个小格,其他行左侧边缘取m列,将其与D相应方格内交换;B与C接近右侧m-1列相互交换。如下图用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

 
3、YinMagic
第一步:先构造n-2幻方,之后将其中的数字全部加上2n-2,放于n阶幻方中间;
第二步:对四顶角赋值:其中:a[1,1]=2×n-2,a[1,n]=2×n-3,a[n,1]=n×n-2×n+4, a[n,n]=n×n-2×n+3,
 第三步:对边线赋值:如果是单偶幻方,则按如下填写1至6,2×n-4,2×n-5的数字;

2×n-2

1

 

 

5

 

 

n×n-2×n+4

 

 

 

 

 

 

 

2×n-4

 

 

 

 

 

 

 

2×n-5

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2×n-3

 

3

4

 

 

 

n×n-2×n+3

如果是双偶幻方, 则按如下填写1至6,2×n-9至2×n-4的数字;

2×n-2

1

 

 

4

5

 

 

 

n×n-2×n+4

 

 

 

 

 

 

 

 

 

2×n-4

 

 

 

 

 

 

 

 

 

2×n-5

 

 

 

 

 

 

 

 

 

2×n-6

 

 

 

 

 

 

 

 

 

2×n-7

2×n-8

 

 

 

 

 

 

 

 

 

2×n-9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2×n-3

 

2

3

 

 

6

 

 

n×n-2×n+3

相应其对角线数字为n×n+1-a[i,j];至此全部填写完毕。本方法适用于n>4的所有幻方,是我于2002年12月31日构造的数学模型。YinMagic法可生成6阶以上的偶幻方,本程序生成的4阶幻方是我构造的一个魔鬼幻方。
如下图用YinMagic法生成的6阶幻方:

10

1

34

33

5

28

29

23

22

11

18

8

30

12

17

24

21

7

2

26

19

14

15

35

31

13

16

25

20

6

9

36

3

4

32

27

 
4、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;…………。之后进行对角交换。对角交换有两种方法:
方法一;将左上区域i+j为偶数的与幻方内以中心点为对称点的右下角对角数字进行交换;将右上区域i+j为奇数的与幻方内以中心点为对称点的左下角对角数字进行交换。(保证不同时为奇或偶即可。)
方法二;将幻方等分成m×m个4阶幻方,将各4阶幻方中对角线上的方格内数字与n阶幻方内以中心点为对称点的对角数字进行交换。
如下图用Spring法生成的4阶幻方:

16

2

3

13

5

11

10

8

9

7

6

12

4

14

15

1

四、奇特的幻方
魔鬼幻方
如将幻方看成是无限伸展的图形,则任何一个相邻的n×n方格内的数字都可以组成一个幻方。则称该幻方为魔鬼幻方。用我研究的Horse法构造的幻方是魔鬼幻方。如下的幻方更是魔鬼幻方,因为几乎对于任意四个在两行两列上的数字,他们的和都是34。此幻方可用YinMagic方法生成。

15

10

3

6

4

5

16

9

14

11

2

7

1

8

13

12

 
 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
四阶幻方的解法
四阶幻方解法图解
数学题:九宫空格里填数
魔方阵
第18讲 数阵图(三)
【小学帮奥数001】观察法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服