.偶数阶幻方
说实话,偶数阶幻方我一直以为只有一种,就是2*n阶幻方问题。查了一下才知道偶数阶幻方也分为两小类。
先看看4阶幻方的填法:将数字从左到右、从上到下按顺序填写:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
将对角线上的数字,换成与它互补的数字。
这里,nn+1 = 44+1 = 17;
把1换成17-1 = 16;把6换成17-6 = 11;把11换成17-11 = 6……换完后就是一个四阶幻方。
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
对于n=4k阶幻方,我们先把数字按顺序填写。写好后,按44把它划分成kk个方阵。因为n是4的倍数,一定能用44的小方阵分割。然后把每个小方阵的对角线,象制作4阶幻方的方法一样,对角线上的数字换成互补的数字,就构成幻方。 下面是8阶幻方的作法:
(1) 先把数字按顺序填。然后,按44把它分割成2*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 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
(2) 每个小方阵对角线上的数字,换成和它互补的数。
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阶幻方也完了,怎么样,简单吧!自己动手试试吧。
②.4n+2阶幻方
4n+2,乍一看就较4n麻烦了,事实也是如此,不过它的思想也简单。就是将4n+2看做2*(2n+1),这样一来就转化成了四个2n+1求幻方。
附注:下面的我以6阶幻方为例,那么,4*n+2=6,所以n=1。
我通过描述每个步骤加上图形的方式来表述4*n+2阶幻方实现的过程。
第一步:把整个表格分成4个(2n+1)(2*n+1)的小表格,分别叫A,B,C,D。见下图
第二步:这样A,B,C,D个小表格就成奇数幻方问题了。
①.将1,2,…,(2n+1)(2n+1)这些数划分给A,并对A实现奇数幻方;
②.将(2n+1)(2n+1)+1,…,2*(2n+1)(2n+1)这些数划分给B,并对B实现奇数幻方;
③.将2(2n+1)(2n+1)+1,…3(2n+1)(2n+1)这些数划分C,并对C实现奇数幻方;
④.将3(2n+1)(2n+1)+1,…4(2n+1)(2*n+1)这些数划分D,并对D实现奇数幻方。
见下图
第三步:从A表中的中心(即第n行的MagicSquare[n][n])开始,按照从左向右的方向,标出n个数,A表中的其他行则标出最左边的n格中的数(在图中用红色背景标出)。并且将这些标出的数和C表中的对应位置互换。见下图
第四步:在B表中的中心(如上解释)开始,自右向左,标出n-1列,将B中标出的数据与D表中对应位置的数据交换。但是6阶幻方中,n-1此时等于0,所以B与D不用做交换