偶数阶幻方填法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

偶数阶幻方填法

以4阶为例,说说偶数阶的填法:

首先,按顺序写下16个数:

1234

5678

9101112

13141516

接下来固定对角线上数字不动(这里是1、6、11、16和4、7、10、13),其它数字作左右对换,如2与3换,5与8换等,得到下面的排列:

1324

8675

1210119

13151416

继续固定对角线,其他数字作上下对称变换,如8与12换,2与15换等,得到如下排列:

115144

12679

810115

133216

这就是四阶幻方,每行每列四个数字之和均为34,其他偶

数阶幻方填法可类推!

奇数阶幻方——口诀

1坐边中间,斜着把数填;

出边填对面,遇数往下旋;

出角仅一次,转回下格间。

一、奇数阶纪方的构造方法(楼梯法)。

把1(或最小的数)放在第一行正中;

按以下规律排列剩下的n*n-1个数:

1)每一个数放在前一个数的右上一格;

2)如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列;

3)如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上一行;

4)如果这个数所要放的格已经超出了顶行且超出了最右

列那么就把它放在前一个数的下一行同一列的格内;

5)如果这个数所要放的格已经有数填入,处理方法同4)。图示:

* 1 * * 1 *

* * * * * *

* * * * * 2

* 1 * * 1 *

3 * * 3 * *

* * 2 4 * 2

* 1 * * 1 6

3 5 * 3 5 *

4 * 2 4 * 2

* 1 6 8 1 6

3 5 7 3 5 7

4 * 2 4 * 2

8 1 6

3 5 7

4 9 2

奇数阶幻方的一种用公式表达的构造方法:

设x是要填入的数,(xx,yy)是坐标。坐标如何确定呢?

k= (x-1) div n +(n+3) div 2 + (x-1)

yy=k- (k-1) div n *n

p= (n+1) div 2 + (x-1)- (x-1) div n

xx=n+1-p+(p-1) div n * n

二、双偶阶(4k)阶幻方的构造方法。

就是说,阶数可以被4整除。

看看4阶幻方的制作方法:

先把数字,按顺序写(从左到右,从上到下):

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

然后把对角线,换成互补的数字。

定义:

互补:如果两个数字的和,等于幻方最大数和最小数的和,即n*n+1,称为互补。

16 2 3 13

5 11 10 8

9 7 6 12

4 14 1

5 1

人们从4阶幻方的制作方法,找到了构造双偶阶幻方的方法:

对于n=4k阶幻方,我们先把数字按顺序填写。写好后,按4*4把它划分成k*k个方阵。把每个小方阵的对角线,象制作4阶幻方的方法一样,换成互补的数字,就构成幻方。

事实上,有些小方阵的对角线是连着的。但是因为没有办法画图,我只能这样子描述。

双偶阶幻方另一种用PASCAL程序语句表达的构造的方法如下:

for i:=1 to n do

for j:=1 to n do

begin

if j mod 4>1 then m:=1

else m:=0;

k:=n-i-(n-2*i+1)*m;

if i mod 4>1 then m:=1

else m:=0;

L:=n-j+1-(n-2*j+1)*m;

a[i, j]:=k*N+L;

end;

三、单偶阶(4k+2)幻方的构造

阶数是偶数,但是,又不能被4整除。这是最难的一种幻方。

一种构造n=4k+2幻方的方法:

(1) 先排出4k的双偶阶幻方

(2) 根据幻方的性质,每个数都同时加上8k+2

(3) 把它扩展成为4k+2的方阵。这样,四周包围着一圈。我们只要把

1,2,3……,8k+2, (4k+2)^2, (4k+2)^2-1, ……,(4k)^2+1+8k+2

这些数字,填入最外一圈,使得:对角线两端,每行、每列两端数字互补。

当然,最后圈的两横,两列各数之和要等于变幻常数。

以制作6阶幻方为例:

先制作出4阶幻方。

方阵的每个数字,加上8k+2=10

再把它扩大成6阶,如下图:

* * * * * *

* 26 12 13 23 *

* 15 21 20 18 *

* 19 17 16 22 *

* 14 24 25 11 *

* * * * * *

我们只要把

1,2,3,……,9,10,

36,35,34, (27)

填入外圈。

不过,当n较大时,外圈的填法也不太容易。有一种公式来填外圈。坐标(j,i) 为j行i列的。先固定填下这10个数:a[1,1]=1 a[n,1]=4 a[n-1,1]=10 a[2,n]=3 a[3,n]=5 a[4, n]=7

a[n,n-2]=2 a[n,n-1]=9 a[1,2]=6 a[1,3]=8

当n=4k+2时,

相关文档
最新文档