奇数阶幻方
(完整版)任意奇数阶幻方的杨辉斜排法

任意奇数阶幻方的杨辉斜排法——对杨辉口诀的讨论范贤荣2016.3.8关于三阶幻方的排法,我国古代数学家杨辉给出了一个巧妙的排法:“九子斜排,上下对易,左右相更,四维挺出”。
按照这个口诀,画出“上下对易,左右相更”之后,形成图1d的图面。
因此,必定有一个“四维挺出”的步骤。
最后得到“戴九履一,左三右七,二四為肩,六八為足”的三阶幻方。
见图1。
图1 杨辉口诀的画法可见,杨辉口诀是在利用5×5的方格,斜排9个数后,按照他的步骤,仍然是画出5×5方格的3阶的幻方,如图1e。
图2 菱中取方的画法现在,我们很多人用的是“取方框”画法。
即在5×5的方阵中,取出3×3方框来,如图2b的红框。
红框外的1,是走到框内的绿方块中,红框外的9,是走到框内的蓝方块中。
因此1、9没有“对易”。
同样,3、7也没有“相更”。
因此,就没有“上下对易,左右相更”了。
所以,就不需要“四维挺出”了。
因此,现在的画法,与原来的口诀不一致了。
所以,我根据作图的次序,将杨辉的口诀,演绎成:各子斜排为菱形,中间取方当作城,城外有子城内空,四围都往城中进。
挺进多少方可止,几阶就挺几步深。
注1:“四围”就是上下左右四边。
“都往城中进”,因此是相向而行,都到城中。
注2:“几阶就挺几步深”。
如3阶进3步,5阶进5步,7阶进7步……后续亦如此类推。
见图2。
下面,我将2~13各奇数阶,由菱方阵演变成幻方的情况,列于后。
图3 5阶菱方阵与幻方图4 7阶菱方阵与幻方图5 9阶菱方阵与幻方图6 11阶菱方阵与幻方图7 11阶幻方图8 13阶菱方阵图9 13阶幻方。
奇数阶幻方口诀

奇数阶幻⽅⼝诀
⼝诀版本⼀:
先填上⾏正中央,
依次斜填莫相忘。
上格没有顶格填,
顶格没有底格放。
⼝诀版本⼆:
1居上⾏正中央,
依次斜填莫相忘。
上出框时往下填,
右出框时左边放。
排重便在下格填,
右上排重⼀个样。
⼝诀解析:
把1(或最⼩的数)放在第⼀⾏正中;按以下规律排列剩下的n*n-1个数:
(1)、每⼀个数放在前⼀个数的右上⼀格;
(2)、如果这个数所要放的格已经超出了顶⾏那么就把它放在底⾏,仍然要放在右⼀列;
(3)、如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上⼀⾏;
(4)、如果这个数所要放的格已经超出了顶⾏且超出了最右列,那么就把它放在前⼀个数的下⼀⾏同⼀列的格内;
(5)、如果这个数所要放的格已经有数填⼊,处理⽅法同(4)。
幻方的构造

58
44 14 52 59 5
45 53
4
48 56
1
62
63
幻方的这种平衡思想,经常被用来寻找优化问 题的第一个可行解(可行方案)!
16
2
3
13
5
9
11
7
10
6
8
12
4
14
15
1
保留数字: 1
4
6
7
10 11
13
16
64
2
55 47
3
54 46
61
60
651 437 Nhomakorabea50 42
57
9 17
40
32
12 20
37
29
13 21
36
28
16 24
33
25
26 34
23 15
27 35
22
30 38
19 11
31 39
18 10
41 49
从1开始,按照45度线填数字。如果本格45度上方 遇到黑格子、有了数字的格子,则,填本格下面的格 子。
18
17 23 4 10 24 5 6 12
25
1 7 13 19
2
8 14 20 21
9
15 16 22 3 17 23 4 10
11
18
25
2
9
双偶数阶幻方的构造
双偶数阶=4k×4k。 例如,构造4阶幻方。 首先,将4×4表格的2条对角线上的格子刷黄。从 左到右、从上到下依次填写数字,将非对角线格子填 上数字(遇到黄格子,不填数字,同时,保留黄格子 对应的数字,不填) 。 第2步,从下到上、从右到左,填写保留的黄格子 对应的数字。
构造幻方

构造幻方所谓幻方,也教纵横图,就是在n×n的方阵中放入1到n2个自然数:在一定的布局下,其各行、各列和两条对角线上的数字之和正好都相等。
这个和数就叫做“幻方常数”或幻和。
幻方分为奇数阶幻方、偶数阶幻方(单偶阶幻方、双偶阶幻方),下面就这三类幻方的构造分别示范。
奇数阶幻方的经典方法-罗伯奇数阶幻方,也就是3阶、5阶、7阶……幻方,那么如何构造这样的幻方呢?我们可以采取罗伯法(也叫连续摆数法),其法则如下:把“1”放在中间一列最上边的方格中,从它开始,按对角线方向(比如说按从左下到右上的方向)顺次把由小到大的各数放入各方格中,如果碰到顶,则折向底,如果到达右侧,则转向左侧,如果进行中轮到的方格中已有数或到达右上角,则退至前一格的下方。
按照这一法则建立5阶幻方的示例如下图:罗伯法(连续摆数法)的助记口诀:1居上行正中央,依次斜填切莫忘。
上出框界往下写,右出框时左边放。
重复便在下格填,角上出格一个样。
1居上行正中央——数字1放在首行最中间的格子中依次斜填切莫忘——向右上角斜行,依次填入数字上出框界往下写——如果右上方向出了上边界,就以出框后的虚拟方格位置为基准,将数字竖直降落至底行对应的格子中右出框时左边放——同上,向右出了边界,就以出框后的虚拟方格位置为基准,将数字平移至最左列对应的格子中重复便在下格填——如果数字{N}右上的格子已被其它数字占领,就将{N +1}填写在{N}下面的格子中角上出格一个样——如果朝右上角出界,和“重复”的情况做同样处理。
偶数阶幻方的一种制作方法——双偶阶、单偶阶幻方1.双偶阶幻方(中心对称交换法)n为偶数,且能被4整除(n=4,8,12,16,20……)(n=4k,k=1,2,3,4,5……)先说明一个定义。
互补:如果两个数字的和,等于幻方最大数和最小数的和,即n×n+1,称为互补。
先看看4阶幻方的填法:将数字从左到右、从上到下按顺序填写:这个方阵的对角线,已经用颜色标出。
奇数阶幻方构造原理

奇数阶幻方构造原理
奇数阶幻方是指由1到n^2 的连续整数构成的方阵,其每行、每列及两条对角线上的数字之和都相等。
以下是奇数阶幻方构造的一些原理和方法:
- 九子排列法:宋代数学家杨辉总结的“洛书”幻方的编排方法。
具体步骤为:九子排列、上下对易、左右相更、四维挺出。
- 巴舍法:以构造三阶幻方为例,假设有一个三行三列的格子,然后制造阳台、天台、地下室,再爬梯填数,最后把阳台、天台、地下室及里边的数去掉,就得到了一个三阶幻方。
- 罗伯法:可以构造出所有的奇数阶幻方。
口诀为:1居上行正中央,依次斜填切莫忘;上出框界往下写,右出框界左边放;排重便在下格填,右上出格一个样。
这些方法可以帮助构造各种奇数阶幻方,有兴趣的读者可以尝试用这些方法构造五阶幻方和七阶幻方。
幻方制作方法

幻方制作方法一、什么是阶数?横竖各3格就是3阶,各4格就是4阶,依此类推。
二、奇数阶幻方的构造方法:把1放在中间,右上行走,上边出头往下落,右边出头往左走,占位或者对角出头往下落三、4×n阶幻方的构造(一)4×1阶幻方的构造方法一第一步:依次填数第二步:对角交换1 2 3 45 6 7 89 10 11 1213 14 15 16(二) 四阶幻方的构造方法二第一步:依次填数 第二步:不是对角的交换1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16总结:基本的四阶幻方的构造,是先依次填数,然后要么是对角的数据都交换,要么是对角的数据都不交换。
(三)4×n 阶幻方的构造我们已经知道了4×1阶幻方的构造方法:然后要么是对角的数据都交换,要么是对角的数据都不交换。
那么4×n 阶幻方的构造方法,完全与4阶幻方的构造一样,也是:要么是对角的数据都交换,要么是对角的数据都不交换。
但是,在构造4×2阶幻方时候,要把每2×2格作为一格,在构造4×3阶幻方时候,要把每3×3格作为一格,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 5758 59 60 61 62 63 641 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 575859606162636416 2 3 13 34 5 11 10 8 34 9 7 6 12 34 4 14 15 1 34 34 34 34 341 15 14 4 34 12 6 7 9 34 8 10 11 5 34 13 3 2 16 34 34 34 34 3464 63 3 4 5 6 58 57 56 55 11 12 13 14 50 49 17 18 46 45 44 43 23 24 25 26 38 37 36 35 31 32 33 34 30 29 28 27 39 40 41 42 22 21 20 19 47 48 16 15 51 52 53 54 10 9 8 7 59 60 61 62 2 11 2 62 61 60 59 7 89 10 54 53 52 51 15 1648 47 19 20 21 22 42 4140 39 27 28 29 30 34 3332 31 35 36 37 38 26 2524 23 43 44 45 46 18 1749 50 14 13 12 11 55 5657 58 6 5 4 3 63 641 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 17 18 19 20 21 22 23 2425 26 27 28 29 30 31 32 33 34 35 3637 38 39 40 41 42 43 44 45 46 47 4849 50 51 52 53 54 55 56 57 58 59 6061 62 63 64 65 66 67 68 69 70 71 7273 74 75 76 77 78 79 80 81 82 83 8485 86 87 88 89 90 91 92 93 94 95 9697 98 99 100 101 102 103 104 105 106 107 108109 110 111 112 113 114 115 116 117 118 119 120121 122 123 124 125 126 127 128 129 130 131 132133 134 135 136 137 138 139 140 141 142 143 1441 2 3 141 140 139 138 137 136 10 11 1213 14 15 129 128 127 126 125 124 22 23 2425 26 27 117 116 115 114 113 112 34 35 36108 107 106 40 41 42 43 44 45 99 98 9796 95 94 52 53 54 55 56 57 87 86 8584 83 82 64 65 66 67 68 69 75 74 7372 71 70 76 77 78 79 80 81 63 62 6160 59 58 88 89 90 91 92 93 51 50 4948 47 46 100 101 102 103 104 105 39 38 37109 110 111 33 32 31 30 29 28 118 119 120121 122 123 21 20 19 18 17 16 130 131 132133 134 135 9 8 7 6 5 4 142 143 144(三)如何在纸上快速填写4n阶幻方,参看上图1、我们假设对角不变。
任意奇数阶幻方的罗伯移步法

任意奇数阶幻方的罗伯移步法学习心得范贤荣2016.2.25在学习幻方构成时,在网上看到了大多数幻友介绍的罗伯(loubere)法。
读后,我有心得如下:1、罗伯(loubere)法的确是最简单的任意奇数阶幻方的构成法。
它只要一步一步地填写就可以了。
2、有人称之为楼梯法。
这也非常形象,体现了一步一步斜着向上的填写规律。
因此,我觉得以罗伯楼梯法谓之,倒是一个好办法,既尊敬了罗伯的创造,又形象地体现了填写规律。
但是,楼梯太实用了,就采用了浪漫点的移步二字,编写了本文的题目。
3、罗伯法的填写步骤,非常经典。
关于“出格/出框”、“重复/遇阻”的规定,也往往还被其他方法所引用。
4、罗伯法的口诀,对“1居上行正中央”的这种幻方,是很正确且准确的。
但是,不知道这是不是罗伯老师的原话。
我现在看到的都是幻友们的介绍。
因此,就与幻友们讨论一下:这个口诀,只适用于“1居上行正中央”的这种幻方。
或者说“1居上行正中央”的这种幻方,只是罗伯幻方的一种。
罗伯幻方每一阶都有多种。
幻方数与阶数相同。
因此,我建议在这口诀下面加一个注:“1居上行正中央”只是罗伯幻方有代表性的一种。
1还可以在其他点格上。
5、1还可以在那些点格上呢?我们把方阵空格用(X,Y)即(行,列)表示。
第一行,第三列表示为(1,3)那么,各阶数方阵有几个幻方,1点在何处,可见下表:我们还可以形象地用方阵的方式,直观地看到1的位置。
5阶幻方的1点在幻和为65的格子内。
方法是:1)与阶数一样,画出阶数方阵。
例如,5阶2)将该阶幻方的幻和填在方阵的“上行正中央”。
例如5阶幻和65。
3)在斜着把幻和,逐行向左移一位,填在各行。
如下图4)再利用罗伯法则,将出格的数移回来。
就可以直观地看到1在那些点格了。
5)顺便说说方阵中的其他数据是什么?从何而来?。
这些数据都是一个不等于“幻和”的对角线之和。
我是计算出来的,计算完5阶,我就知道7阶了。
因此,就少画了许多方阵。
6)其他不等于“幻和”的对角线之和,就是将“幻和”向两边逐步加减“阶²”。
“幻方”的口诀

幻方”的口诀小学时,老师或者数学竞赛时经常会出现魔方的题目,记得金庸先生写的著名的武侠小说《射雕英雄传》里面的瑛姑就是被一个三阶的幻方给困住了十几年,而黄蓉不到一分钟就完成那个幻方,那么有没有什么诀窍呢?后来,在一些书上看到,对于奇数阶的幻方,有如下的口诀:居首列正中央,依次斜填左上方;左出框时向右写,上出框时往下放;遇到重合无处填,退居原数右邻行。
举例(3 阶幻方):注:*表示还没有填数字的空位置步骤(1):即“一居首列正中央”步骤(2):即“依次斜填左上方,左出框时向右写(上一行最右列)”* * *步骤(3):即“上出框时往下放(左一列最下一行)”步骤(4):即“遇到重合无处填”,(也就是左上方已经写有数字),“退居原数右邻行”,将要填写的数字放到本行靠右一列)步骤(5):步骤(6):1 * *步骤(7):注意:左上角位置的左上方位置是右下角,即6的左上方是已经填写了数据的4的位置,根据口诀“遇到重合无处填”,此时步骤(8):即“上出框时往下放(左一列最下一行)”步骤(9):即“依次斜填左上方,左出框时向右写(上一行最右列)”只要是奇数阶魔方,都可根据此“口诀”构造。
双偶阶幻方n为偶数,且能被4整除(n=4,8, 12 , 16 ,20……)(n=4k ,k=1 , 2, 3, 4 , 5……)先说明一个定义:互补:如果两个数字的和,等于幻方最大数和最小数的和,即n*n+1 ,称为互补。
先看看4 阶幻方的填法:将数字从左到右、从上到下按顺序填写:10 11 1213 14 15 16这个方阵的对角线,已经用蓝色标出。
将对角线上的数字,换成与它互补的数字。
这里,n*n+1 = 4*4+1 = 17把1 换成17-1 = 16 ;把6 换成17-6 = 11 ;把11 换成17-11=6……换完后就是一个四阶幻方对于n=4k 阶幻方,我们先把数字按顺序填写。
写好后,按4*4 把它划分成k*k 个方阵。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三阶幻方的解法
第一种:杨辉法:九子斜排,上下对易,左右相更,四维挺出。
1
2 4
3 5 7
6 8
9
2 9 4
7 5 3
6 1 8
第二种:九宫图也是幻方的别称,三阶幻方就是著名的洛书,他的排列是::“戴九履一,左三右七,二四为肩,六八为足,五居中央(9在上中,1在下中。
7在左中,3在右中,2在左上,4在右上,6在左下,8在右下,正中央5)
第三种:罗伯法:最小的数据上行中央,依次向右上方斜填,上出框往下写,右出框往左填,排重便在下格填,右上排重一个样
8 1 6
3 5 7
4 9 2
四阶幻方的解法
1、先把这16个数字按顺序从小到到排成一个4乘4的方阵
2、内外四个角对角上互补的数相易,(方阵分为两个正方形,外大内小,然后把大正方形的四个对角上的数字对换,小正方形四个对角上的数字对换)即(1,16)(4,13)互换
(6,11)(7,10)互换
16 2 3 13
5 11 10 8
9 7 6 12
4 14 1
5 1
另:对于n=4k阶幻方,我们先把数字按顺序填写。
写好后,按4*4把它划分成k*k个方阵。
因为n是4的倍数,一定能用4*4的小方阵分割。
然后把每个小方阵的对角线,象制作4阶幻方的方法一样,对角线上的数字换成互补的数字,就构成幻方。
五阶幻方的解法:罗伯法:最小的数据上行中央,依次向右上方斜填,上出框往下写,右出框往左填,排重便在下格填,右上排重一个样。
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
(在最上一行的中间填1,接着在1的右上方填2,由于1在最上一行,
所以1的右上方应该是第五行的第四个,
接下来在2的右上方填3,3的右上方应该是第三行第一个,所以在此填4,在4的右
上方填5,
在5的下方填6,接着按前面五个数的填法依次填7,8,9,10;
在10的下方填11,然后按上面的方法填,
每次填五个数,直到完成.
无论从上到下还是从左到右都是五排,
所以每排的五个数之和为(1+2+3+4+…+25)÷5=65,
因此,你可以验算一下是否每个和都是65.
此法适合于一切奇阶幻方.)
罗伯法
用罗伯法构造幻方:
幻方是一种广为流传的数学游戏,据说早在大禹治水时就发现过。
幻方的特点是:由自然数构成n×n正方形阵列,称为n阶幻方,每一行、每一列、两对角线上的数之和相等。
当n为奇数时,我们称幻方为奇阶幻方。
法国人罗伯总结出了构造奇数阶连续自然数幻方的简单易行的方法“罗伯法”。
下图就是一个用罗伯法排好的5阶幻方。
罗伯法的助记口诀:
(初学者可先画出一个N×N的方格阵)
1 居上行正中央——数字1 放在首行最中间的格子中
依次斜填切莫忘——向右上角斜行,依次填入数字
上出框界往下写——如果右上方向出了上边界,就以出框后的虚拟方格位置为基准,将数字竖直降落至底行对应的格子中右出框时左边放——同上,向右出了边界,就以出框后的虚拟方格位置为基准,将数字平移至最左列对应的格子中
重复便在下格填——如果数字{N} 右上的格子已被其它数字占领,就将{N+1} 填写在{N}下面的格子中
右上重复一个样——如果朝右上角出界,和“重复”的情况做同样处理
罗伯法的具体方法如下:
把1(或最小的数)放在第一行正中;
按以下规律排列剩下的n2-1个数:
1)每一个数放在前一个数的右上一格;
2)如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列;
3)如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上一行;
4)如果这个数(例如6)所要放的格已经超出了顶行且超出了最右列那么就把它放在前一个数(例如5)的下一行同一列的格内;
5)如果这个数所要放的格已经有数填入,处理方法同4)。
只要是有规律的东西,计算机很容易就可以做到。
下面我们把罗伯法翻译成计算机算法思路:
定义一个n×n数组;
把1放在第0行第n\2列;
设当前格为(i?j),设一步长变量k(k=2->n?n)
1) i减1,j加1;
2) 如果i<0那么i=n-1;
3) 如果j>n-1那么j=0;
4) 如果2)和3)同时出现那么就把j减回1,i加上2;
5) 如果a(i?j)不为空那么按照4)处理;
6) 把k的值赋给当前格a(i?j);。