有9*9的81个格子,把1~81填格子里。

横行 竖行 对角 都要等于一个数。
求答案。 求规律。 越详细越好。 这个题目大学电脑老师出的题···

这是一个九阶幻方问题,至少有以下几种解法。
一、Merzirac法生成奇阶幻方
在第一行居中的方格内放1,依次向右上方填入2、3、4…,如果右上方已有数字,则向下移一格继续填写。如下图用Merziral法生成的9阶幻方:
47 58 69 80 1 12 23 34 45
57 68 79 9 11 22 33 44 46
67 78 8 10 21 32 43 54 56
77 7 18 20 31 42 53 55 66
6 17 19 30 41 52 63 65 76
16 27 29 40 51 62 64 75 5
26 28 39 50 61 72 74 4 15
36 38 49 60 71 73 3 14 25
37 48 59 70 81 2 13 24 35
9阶幻方的幻和值为369。
Merzirac法,有人也叫楼梯法,我管它叫斜步法,即走X+Y斜步(数字按右上方顺序填入),-Y跳步(如果右上方已有数字或出了对角线,则向下移一格继续填写)。
其实斜步法可以向4个方向依次填写数字,即右上、右下、左上、左下4个方向,每种斜步都可有2种跳步,即左(右)跳步、上(下)跳步。
对于X+Y斜步相应的跳步可以为-X,-Y。 【记住,跳步是X+Y斜步的X(或Y)相反方向即可。如右上方向斜步,跳步就为向左(或向下)一步;左下方向斜步,跳步就为向右(或向上)一步;等等等等】

二、loubere法生成奇阶幻方
在居中的方格向上一格内放1,依次向右上方填入2、3、4…,如果右上方已有数字,则向上移两格继续填写。如下图用Louberel法生成的9阶幻方:
77 28 69 20 61 12 53 4 45
36 68 19 60 11 52 3 44 76
67 27 59 10 51 2 43 75 35
26 58 18 50 1 42 74 34 66
57 17 49 9 41 73 33 65 25
16 48 8 40 81 32 64 24 56
47 7 39 80 31 72 23 55 15
6 38 79 30 71 22 63 14 46
37 78 29 70 21 62 13 54 5
上述loubere法可以记作X+Y斜步(数字按右上方顺序填入),2Y跳步(如果右上方已有数字或出了对角线,则向上移二格继续填写)。对于X+Y斜步相应的跳步可以为2X,2Y。 【记住,跳步是X+Y斜步的X(或Y)相同方向即可。】
2Y跳步,则在居中的方格向上一格放1里,按上斜步,2Y跳步的方法构成幻方。
-2Y跳步,则在居中的方格向下一格放1里,按下斜步,-2Y跳步的方法构成幻方。
2X跳步,则在居中的方格向右一格放1里,按右斜步,2X跳步的方法构成幻方。
-2X跳步,则在居中的方格向左一格放1里,按左斜步,-2X跳步的方法构成幻方。

三、horse法生成奇阶幻方
对于所有的奇阶幻方,在第一行居中的方格内放1,向右走1步,下走2步以跳马步,依次填入2、3、4…,若出到方阵下方,把该数字填到本该填数所在列上方相应的格;若出到方阵右方,把该数字填到本该填数所在行的左方相应的格;如果落步格已有数字, 则向下移一格继续填写。如下图用Horse法生成的9阶幻方:
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

四、集团方阵法。
将n阶幻方等分成m×m个k阶幻方(m,k≥3),用数由小到大完成每一个k阶幻方,将每一个k阶幻方依次当成m阶幻方中的1至m^2的数,再以这m^2个小k阶幻方,以m阶幻方的方法去完成大的m阶幻方,从而完成n阶幻方。
71 64 69 8 1 6 53 46 51
66 68 70 3 5 7 48 50 52
67 72 65 4 9 2 49 54 47
26 19 24 44 37 42 62 55 60
21 23 25 39 41 43 57 59 61
22 27 20 40 45 38 58 63 56
35 28 33 80 73 78 17 10 15
30 32 34 75 77 79 12 14 16
31 36 29 76 81 74 13 18 11
温馨提示:答案为网友推荐,仅供参考