解一道数独九宫格题
偶数阶幻方
当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