解一道数独九宫格题

当n为奇数时,我们称幻方为奇数阶幻方。可以用Merzirac法和loubere法来实现。根据我的研究发现,更神奇的魔方也可以通过棋姿来构造,故命名为马法。

偶数阶幻方

当n是偶数时,我们称幻方为偶数幻方。当n能被4整除时,我们称偶数幻方为二分幻方。当n不能被4整除时,我们称这个偶幻方为简单偶幻方。可以通过Hire method、Strachey和YinMagic实现。斯特雷奇是单身情侣模特。我修改了双偶(4m阶),做了另一个可行的数学模型,叫弹簧。YinMagic是我在2002年设计的一个模型。它可以生成任何偶数幻方。

在填入幻方之前,我们做如下约定:如果数字超出了幻方的范围,那么幻方就被视为一个可以无限拉伸的图形,如下图所示:

生成奇幻方的Merzirac方法

将1放入第一行中间的方块中,依次在左上方填入2、3、4…。如果左上角有数字,下移一格继续填充。Merziral方法生成的五阶幻方如下:

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

用loubere方法生成奇数阶幻方

把1放在中间的方格里,在左上方填上2,3,4…如果左上角有数字,上移两格继续填充。用Louberel方法生成的七阶幻方如下:

30 39 48 1 10 19 28

38 47 7 9 18 27 29

46 6 8 17 26 35 37

5 14 16 25 34 36 45

13 15 24 33 42 44 4

21 23 32 41 43 3 12

22 31 40 49 2 11 20

用马方法生成奇数阶幻方

首先把1放在任意一个盒子里。向左走1步,向下走两步放入2(称为“马步”),向左走1步,向下走两步放入3,以此类推。把n+1(称为skip)放在n下面,然后按照上面的方法放在2n下面,把2n+1放在2n下面。马法生成的五阶幻方如下:

77 58 39 20 1 72 53 34 15

6 68 49 30 11 73 63 44 25

16 78 59 40 21 2 64 54 35

26 7 69 50 31 12 74 55 45

36 17 79 60 41 22 3 65 46

37 27 8 70 51 32 13 75 56

47 28 18 80 61 42 23 4 66

57 38 19 9 71 52 33 14 76

67 48 29 10 81 62 43 24 5

一般让矩阵向左走一步。马步可以表示为2X+Y,{x ∈ {,},y ∈ {[0,1],[0,1]} {y ∈ {,},X∈{[2X+Y对应的跳转可以是2Y,-Y,X,-Y,X,3X,3X+3Y。以上是一个X跳。马法生成的魔方是魔鬼魔方。

用Hire方法生成偶数阶幻方

把n阶幻方看成一个矩阵,记为a,第I行第J列网格中的数字记为a(i,J)。填写1,2,3,...,n在A的两条对角线上,然后填入1,2,3,...,n,这样每行和每列的数字之和就是n*(n+1)/2。填写方法是:第1行从n填到1,第2行到n/2行从1填(第2行第1列填n,第2行第n列填1),第2行第n/2行+1填。以下是六阶填充法:

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

以下是八阶填充法(换位后):

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

根据以下算法计算a上的所有数得到b,其中b (i,j) = n× (a (i,j)-1)。那么at+b就是目标魔方。

(AT是转置矩阵)。租用法生成的8阶幻方如下:

1 63 6 5 60 59 58 8

56 10 11 12 53 54 15 49

41 18 19 20 45 22 47 48

33 26 27 28 29 38 39 40

32 39 38 36 37 27 26 25

24 47 43 45 20 46 18 17

16 50 54 53 12 11 55 9

57 7 62 61 4 3 2 64

生成简单偶数幻方的Strachey方法

n阶简单偶幻方表示为4m+2阶幻方。分成四份,变成四个2m+1阶的奇幻方如下图所示。

一个C

D B

a从1到2m+1填充(2m+1)二阶幻方;b用(2m+1) 2到2*(2m+1)2填充2m+1阶幻方;c用2 * (2m+1) 2到3*(2m+1)2填充2m+1阶幻方;d用3 * (2m+1) 2到4*(2m+1)2填充2m+1阶幻方;取A中间一行的m个单元格,取其他行左边缘的m-1列,与D对应的单元格互换;B和C右侧附近的m-1柱互换。斯特雷奇方法生成的六阶幻方如下:

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

用弹簧法生成偶数幻方

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阶幻方中的对角线数互换。

弹簧法生成的四阶幻方如下:

16 2 3 13

5 11 10 8

9 7 6 12

4 14 15 1

YinMagic构造偶数阶幻方

首先构造n-2幻方,然后把里面所有的数加2n-2放在n阶幻方的中间,再用这种方法填充边数。这种方法适用于n & gt4的所有幻方,我2002年2月31构建的数学模型。YinMagic方法可以生成6阶或6阶以上的偶数幻方。YinMagic法生成的六阶幻方如下:

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

魔鬼魔方

如果把魔方看成一个无限拉伸的图形,那么任意相邻的n*n个方块中的数字都可以组成一个魔方。魔方被称为魔鬼魔方。

我研究的马法构造的魔方是魔鬼魔方。下面的魔方是魔鬼的魔方,因为对于任意两行两列的四个数,它们的和都是34。这个幻方可以用YinMagic方法生成。

15 10 3 6

4 5 16 9

14 11 2 7

1 8 13 12