当前位置:文档之家› 三阶幻方的构造方法

三阶幻方的构造方法

三阶幻方的构造方法
三阶幻方的构造方法

三阶幻方的构造方法

洛阳市王城公园西门内屹立着一椭圆形棕色巨石,那就是河图洛书碑.

所谓洛书,指的是用1,2,3,4,5,6,7,8,9这九个数字,组成三行三列的方阵.它的每行每列及两条对角线上的三个数字的和都等于15.古时候称九宫图 ,数学上称为三阶幻方.这一问题有许多解法.这里介绍七种解法.

一 凑

这个问题介绍给小孩子们,他们会用九张纸片,分别写上九个数字(或者用九张扑克牌)在桌(地)面上摆出来答案.此法是"凑"出来的.

二 转

第一步把九个数字摆成图一.第二步让周围的八个数字绕着中心的数字依次转动一个位置,成图二,第三步将对角的数字进行对换,成图三.这个方法归结为"一排,二转,三对换".这个方法可以让孩子作游戏,也是有趣的.

987654321 698357214 4

923578

16

图一"排" 图二 "转" 图三 "对换"

三 杨辉法

我国古代数学家在"续古摘奇算法"中,总结洛书幻方的构造方法时写到:"九子排列,上下对易,左右相更,四维挺出"具体作法如图四――图七.

9

68

357

24

1

168357249 图四 九子排列 图五 上下对易 16

875

324

9

4

92357816 图六 左右相更 图七 四维挺出

四 罗伯法

[1] 中所举的罗伯法也可以用来作三阶幻方.罗伯法是这样讲的.

1居上行正中央,依次斜填且莫忘,上出框往下写,右出框时左边放.排重便在下格填,右上排重一个样.罗伯法排出的三阶幻方见图八.

294753618 7

84951

623

9

341596

72 图八 图九 图十

巴舍法

先画一个凸阶梯形,先填成图九,然后按"上移下,下移上,左移右,右移左"(作出的结果与杨辉法完全相同)进行调整成为图十.

五 行列交会法

首先将九个数字排成图十一,然后将中间行中间列不动,作为幻方的左右主对角线,如图十二,因每一个数都是一条左对角线与一条右对角线的交点.所以其它每一个数的行列位置按照:"左对角线与中间列的交点的行为行,右对角线与中间行的交点的列为列"的法则确定.作出的结果如图十三.

9

876543

21

68524 图十一 图十二 6

18753294 98665

432

1x x x x x x x x x 图十三 图十四

六 数学解法

设图十四构成三阶幻方,列出方程组

?????????????=++=++=++=++=++=++=++=++)8.(..........15)7..(..........

15)6..(..........15)5..(..........15)4..(..........15)3..(..........15)2..(..........15)1...(. (15753)

951063852

741987654

321x x x x x x x x x x x x x x x x x x x x x x x x

由(7)+(8)+(2)=(4)+(6)+53x 知453305=+x 得55=x

由(1)+(2)得5.....21551542=-+=+x x x x x 代入

得)9.....(220142x x x -=+

若11=x 则1842=+x x 矛盾 所以11≠x

若31=x 则1442=+x x 则只有8,642==x x 或或6842==x x 或只考虑其中一种 以6,321==x x 代入得63=x 矛盾 所以,31≠x

令21=x 代入(9)得1642=+x x 则只有9,742==x x 或 或7,942==x x 或 不妨取7,942==x x 则.

以4)19,2321===x x x 得代入(

以6)47,2321===x x x 得代入(

以8)75,2951===x x x 得代入(

以1)55,9852===x x x 得代入(

以3)15,7654===x x x 得代入(

从而得到三阶幻方的解.

七 奇偶分析法

在"六"中得到55=x 以后,将其代入(2),(5),(7),(8)得到:

???????=+=+=+=+)13.........(

10)12.........(10)11.........(10)10.........(107391

8264x x x x x x x x 由以上四个方程可以看出73918264,,,x x x x x x x x 与与与与的奇偶性相同,又幻方交换一三两行后仍然是幻方,交换一三两列后仍然是幻方,所以四个角的奇偶性是相同的.今断言,四个角上的数字不能是奇

数,如果四个角上的数字是奇数,那么,,8264x x x x

只能是偶数于是15321≠=+奇+偶+奇 +x x x 矛盾.所以7391.,.x x x x

 只能是偶数.由(12),(13)可知,而且只有2+8,4+6,不妨取6.4,8.,27391==x x x x 则 取= 则=随后便可确定,.,8264x x x x 的值.

参考材料:

[1]张君达《小学数学奥林匹克数学专题讲座》北京师范学院出版社1987年北京版第24页中师教育研究1995年第二期

2008.6.27_任意阶幻方的构造方法

任意阶幻方的构造方法 一、幻方分类 n 表示阶数 二、构造方法 以下幻方均指在n n ?(n 行n 列)的方格里,既不重复也不遗漏地填上1——2n 所构成的幻方。 1、奇数阶幻方——连续摆数法(如图一:以五阶幻方为例) ① 把1填在第一行正中; ② 把i a ()i ≤2放在1-i a 的右上一格;如:3、5、7、8、20等。 ③ 如果i a 所要放的格已超出了顶行,那么就把它放在1-i a 的右一列的最下行;如:2、9、18、25。 ④ 如果i a 所要放的格已超出了最右列,那么就把它放在1-i a 的上一行的最左列;如:4、10、17、23。 ⑤ 如果i a 所要放的格已超出了顶行且超出了最右列,那么就把它放在1-i a 的下一行的同一列的格内;如:16。 ⑥ 如果i a 所要放的格已有数填入,那么就把它放在1-i a 的下一行的同一列的格内。如:6、11、21。 图一 2、单偶数阶幻方()122+ =m n ——分区调换法(如图二:以六阶幻方为例) ① 把()122+=m n 阶的幻方均分成4个同样的小幻方A 、B 、C 、D ;如图二(a ); (注意A 、B 、C 、D 的相对位置不能改变,因为12+m 为奇数,所以A 、B 、C 、D 均为奇数阶幻方) ② 用连续摆数法在A 中填入21a ——构成幻方,同理,在B 中填入() 2221a a ——+、在

C 中填入()22312a a ——+、在 D 中填入() 22413a a ——+均构成幻方(2n a =);如图二(b ); (因为12+m 为奇数,所以A 、B 、C 、D 均为奇数阶幻方,必然可以用连续摆数法构造幻方) ③ 在A 的中间一行上从左侧的第二列起取m 个方格,在其它行上则从左侧第一列起取m 个方格,把这些方格中的数与D 中相应方格中的数字对调;如图二(c 、d ), (不管是几阶幻方,在A 中取数时都要从中间一行的左侧第二列开始;因为当6=n 时,1=m ,所以本例中只取了一个数) ④ 在C 中从最右一列起在各行中取1-m 个方格,把这些方格中的数与B 中相应方格中的数字对调。 (因为01=- m ,所以在C 中没有取数) 图二(d )即为所求幻方。 图二(a ) 图二(b ) 图二(c ) 图二(d ) 3、双偶数阶幻方m n 4=——轴对称法(如图三:以八阶幻方为例) ① 把m n 4=阶的幻方均分成4个同样的小幻方;如图三(a ) ② 在左上角的小幻方每行每列中任取一半的方格加上底色(以便于区分),然后以轴对称的形式在其它三个小幻方中标出方格;如图三(b ) (正确理解“每行每列中任取一半的方格”。本例中因为4=m ,所以在每个小幻方的每行每列上均取2个方格) ③ 从左上角的方格开始,按从左到右、从上到下的次序将1——64从小到大依次填入n 阶幻方,遇到有底色的方格跳过,计数,这样填满了没有底色的方格;如图三(c )

魔方阵

问题3.1、n –魔方阵 一、提出问题 所谓“n – 魔方阵”是指由1至n 这n 个不同整数构成的魔方阵,其魔方常数为n ( n + 1 ) / 2。例如,5 – 魔方阵和7 – 魔方阵如图3 – 1所示。易知,这两个魔方阵的魔方常数分别为15和28。 321541543 24321 52154 35432 1 ,4 3217651 76543254321762176543654321732176547654321 图3 – 1 5 – 魔方阵和7 – 魔方阵 n – 魔方阵的数字排列很有规律,若用人工的方法给出并不困难。现在要求给出:能让计算机自动输出n (≥ 3)为奇数时形如图3 – 1所示的n – 魔方阵的算法。 二、简单分析 n – 魔方阵较我们之后将要讨论的奇、偶数阶魔方阵,要简单许多。观察后不难发现: 1.要填入的n 个数字在阵列的每一行和每一列都要出现且仅出现一次,且各行(列)中的数字顺序相同,这里的顺序是指循环顺序,其中数字1接在数字n 的后面。 2.从阵列的行来看,每一行的第一个数字与它上一行正中间的数字相同。 通过对“n – 魔方阵”的分析,下面几个基本问题必须得到解决: ◆ 如何确定阵列第一行各个数字? ◆ 在填入其他行的数字时如何保证数字原有的顺序不改变同时每一行的第一个数字正好是其上一行正中间的数字? 三、设计准备 假设我们要构建的是一个n – 魔方阵,为此定义一个有n 行n 列的二维数组。 1.确定阵列第一行各个数字 这里我们处理的方法很简单,即可以利用循环方法顺序地在二维数组第一行中填写1,2,3,…,n 这n 个自然数即可。 2.填入其他行的数字,并保证数字原有的顺序不改变同时每一行的第一个数字正好是其上一行

幻方解法整理归纳

在一个由若干个排列整齐的数组成的正方形中,图中任意一横行、一纵行及对角线的几个数之和都相等,具有这种性质的图表,称为“幻方”。我国古代称为“河图”、“洛书”,又叫“纵横图”。 1、奇数阶幻方——罗伯特法(也有人称之为楼梯法)(如图一:以五阶幻方为例) 奇数阶幻方 n为奇数(n=3,5,7,9,11……) (n=2×k+1,k=1,2,3,4,5……) 奇数阶幻方最经典的填法是罗伯特法(也有人称之为楼梯法)。填写方法是这样: 把1(或最小的数)放在第一行正中;按以下规律排列剩下的n×n-1个数: (1)每一个数放在前一个数的右上一格; (2)如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列; (3)如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上一行; (4)如果这个数所要放的格已经超出了顶行且超出了最右列,那么就把它放在前一个数的下一行同一列的格内; (5)如果这个数所要放的格已经有数填入,处理方法同(4)。 这种写法总是先向“右上”的方向,象是在爬楼梯。 口诀: 1居首行正中央, 依次右上莫相忘 上出格时往下放, 右出格时往左放. 排重便往自下放, 右上出格一个样 图一 2、单偶数阶幻方 ()1 2 2+ =m n ——分区调换法(如图二:以六阶幻方为例) ①把()1 2 2+ =m n阶的幻方均分成4个同样的小幻方A、B、C、D(如图二) 图二

(注意A 、B 、C 、D 的相对位置不能改变,因为12+m 为奇数,所以A 、B 、C 、D 均为奇数阶幻方) ② 用连续摆数法在A 中填入21a ——构成幻方,同理,在B 中填入()2221a a ——+、在C 中填入()22312a a ——+、在D 中填入()22413a a ——+均构成幻方(2n a =)(如图三) 图三 (因为12+m 为奇数,所以A 、B 、C 、D 均为奇数阶幻方,必然可以用连续摆数法构造幻方) ③ 在A 的中间一行上从左侧的第二列起取m 个方格,在其它行上则从左侧第一列起取m 个方格,把这些方格中的数与D 中相应方格中的数字对调(如图四): 图四 不管是几阶幻方,在A 中取数时都要从中间一行的左侧第二列开始;因为当6=n 时,1=m ,所以本例中只取了一个数) ④ 在A 中从最右一列起在各行中取1-m 个方格,把这些方格中的数与D 中相应方格中的数字对调。(如图五) 图五 3、双偶数阶幻方m n 4=——轴对称法(如图三:以八阶幻方为例) ① 把m n 4=阶的幻方均分成4个同样的小幻方(如图六) 图六

构造幻方

构造幻方 所谓幻方,也教纵横图,就是在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阶幻方的填法:将数字从左到右、从上到下按顺序填写: 这个方阵的对角线,已经用颜色标出。将对角线上的数字,换成与它互补(同色)的数字。 这里,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个方阵。因为n是4的倍数,一定能用4×4的小方阵分割。然后把每个小方阵的对角线,象制作4阶幻方的方法一样,对角线上的数字换成互补的数字,就构成幻方。

偶数阶幻方

偶数阶幻方的一种制作方法-双偶阶、单偶阶幻方 1. 双偶阶幻方(对称交换法) n为偶数,且能被4整除(n=4,8,12,16,20……) (n=4k,k=1,2,3,4,5……) 先说明一个定义。互补:如果两个数字的和,等于幻方最大数和最小数的和,即 n×n+1,称为互补。 先看看4阶幻方的填法:将数字从左到右、从上到下按顺序填写: 这个方阵的对角线,已经用颜色标出。将对角线上的数字,换成与它互补(同色)的数字。 这里,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个方阵。因为n是4的倍数,一定能用4×4的小方阵分割。然后把每个小方阵的对角线,象制作4阶幻方的方法一样,对角线上的数字换成互补的数字,就构成幻方。

2. 单偶阶幻方(斯特雷奇Ralph Strachey法) n为偶数,且不能被4整除(n=6,10,14,18,22……) (n=4k+2,k=1,2,3,4,5……) 这是三种里面最复杂的幻方。 以n=10为例,10=4×2+2,这时k=2 (1)把方阵分为A,B,C,D四个象限,这样每一个象限肯定是奇数阶。用楼梯法,依次在A象限,D象限,B象限,C象限按奇数阶幻方的填法填数。

(2)在A象限的中间行、中间格开始,按自左向右的方向,标出k 格。A象限的其它行则标出最左边的k格。将这些格,和C象限相对位置上的数,互换位置。

(3)在B象限任一行的中间格,自右向左,标出k-1列。(注:6阶幻方由于k-1=0,所以不用再作B、D象限的数据交换),将B象限标出的这

幻方常规解法汇总

幻方常规解法汇总 没法,组合数学还考幻方构造。这东西不看解法真不会写,虽然没见有啥用,但还是记录下,免得日后再找。按目前填写幻方的方法,是把幻方分成了三类,即奇数阶幻方、双偶阶幻方、单偶阶幻方。下面按这三类幻方,列出最常用解法(考试用,不求强大,只求有效!)。 奇数阶幻方(罗伯法) 奇数阶幻方最经典的填法是罗伯法。填写的方法是: 把1(或最小的数)放在第一行正中;按以下规律排列剩下的(n×n-1)个数: 1、每一个数放在前一个数的右上一格; 2、如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列; 3、如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上一行; 4、如果这个数所要放的格已经超出了顶行且超出了最右列,那么就把它放在前一个数的下一行同一列的格内; 5、如果这个数所要放的格已经有数填入,那么就把它放在前一个数的下一行同一列的格内。 例,用该填法获得的5阶幻方: 双偶数阶幻方(对称交换法) 所谓双偶阶幻方就是当n可以被4整除时的偶阶幻方,即4K阶幻方。在说解法之前我们先说明一个“互补数”定义:就是在n 阶幻方中,如果两个数的和等于幻方中最大的数与 1 的和(即n×n+1),我们称它们为一对互补数。如在三阶幻方中,每一对和为10 的数,是一对互补数;在四阶幻方中,每一对和为17 的数,是一对互补数。 双偶数阶幻方的对称交换解法: 先看看4阶幻方的填法:将数字从左到右、从上到下按顺序填写: 内外四个角对角上互补的数相易,(方阵分为两个正方形,外大内小,然后把大正方形的四个对角上的数字对换,小正方形四个对角上的数字对换)即(16,11)(7,10)互换即可。 对于n=4k阶幻方,我们先把数字按顺序填写。写好后,按4×4把它划分成k×k个方阵。因为n是4的倍数,一定能用4×4的小方阵分割。然后把每个小方阵的对角线,象制作4阶幻方的方法一样,对角线上的数字换成互补的数字,就构成幻方。 以8阶幻方为例: (1) 先把数字按顺序填。然后,按

第11讲简单的幻方及其他数阵图

第十一讲简单的幻方及其他数阵图 有关幻方问题的研究在我国已流传了两千多年,它是具有独特形式的填数字问题.宋朝的杨辉将幻方命名为“纵横图.”并探索出一些解答幻方问题的方法.随着历史的进展,许多人对幻方做了进一步的研究,创造了许多绚丽多彩的幻方. 据传说在夏禹时代,洛水中出现过一只神龟,背上有图有文,后人称它为“洛书”. 洛书所表示的幻方是在3×3的方格子里(即三行三列),按一定的要求填上1~9这九个数,使每行、每列、及二条对角线上各自三数之和均相等,这样的3×3的数阵阵列称为三阶幻方. 一般地说,在n×n(n行n列)的方格里,既不重复又不遗漏地填上n2个连续的自然数(一般从1开始,也可不从1开始)每个数占一格,并使排在任一行、任一列和两条对角线上的n个自然数的和都相等,这样的数表叫做n阶幻方.这个和叫做幻和,n叫做阶. 杨辉在《续古摘奇算法》中,总结洛书幻方构造方法时写到:“九子排列,上、下对易,左右相更,四维挺出.”现用下图对这四句话进行解释. 九子排列上、下对易左右相更四维挺出 怎样构造幻方呢?一般方法是先求幻和,再求中间位置的数,最后根据奇、偶情况试填其他方格内的数. 下面我们就来介绍一些简单的幻方. 例1 将1~9这九个数,填入下左图中的方格中,使每行、每列、两条对角线上三个数字的和都相等.

分析为了便于叙述,先用字母表示图中要填写的数字.如上右图所示. 解答这个题目,可以分三步解决: ①先求出每行、每列三个数的和是多少? ②再求中间位置的数是多少?此题是求E=? ③最后试填其他方格里的数. ∵A+B+C+D+E+F+G+H+I =1+2+3+4+5+6+7+8+9 =45. ∴A+B+C=D+E+F=G+H+I=15. ∴B+E+H=A+E+I=C+E+G=15. ∴A+B+C+D+E+F+G+H+I+3E =(A+E+I)(B+E+H)+(C+E+G)+(D+E+F) =15X4. 45+3E=60 3E=15 E=5. 这样,正中央格中的数一定是5. 由于在同一条直线的三个数之和是15,因此若某格中的数是奇数,那么与这个数在同一条直线上的另两个数的奇偶性相同. 因此,四个角上的数A、C、G、I必为偶数.(否则,若A为奇数,则I为奇数.此时若B为奇数,则其余所有格亦为奇数;若B为偶数,则其

求魔方阵的十种算法

求魔方阵的十种算法 魔方阵,古代又称“纵横图”,是指组成元素为自然数1、2…n的平方的n×n的方阵,其中每个元素值都不相等,且每行、每列以及主、副对角线上各n个元素之和都相等。 如3×3的魔方阵: 8 1 6 3 5 7 4 9 2 魔方阵的排列规律如下: (1)将1放在第一行中间一列; (2)从2开始直到n×n止各数依次按下列规则存放;每一个数存放的行比前一个数的行数减1,列数加1(例如上面的三阶魔方阵,5在4的上一行后一列); (3)如果上一个数的行数为1,则下一个数的行数为n(指最下一行);例如1在第一行,则2应放在最下一行,列数同样加1; (4)当上一个数的列数为n时,下一个数的列数应为1,行数减去1。例如2在第3行最后一列,则3应放在第二行第一列; (5)如果按上面规则确定的位置上已有数,或上一个数是第一行第n列时,则把下一个数放在上一个数的下面。例如按上面的规定,4应该放在第1行第2列,但该位置已经被占据,所以4就放在3的下面; 1居上行正中央 依次右上切莫忘 上出框时往下写 右出框时左边放 右上有数下边写 右上出框也一样 一、魔方阵的简介 1.何谓矩阵?矩阵就是由方程组的系数及常数所构成的方阵。把用在解线性方程组上既 方便,又直观。 2.何谓n阶方阵?若一个矩阵是由n个横列与n个纵行所构成,共有个小方格,则称这 个方阵是一个n阶方阵。 3.何谓魔方阵?4 9 2 3 5 7 8 1 6定义:由n*n个数字所组成的n阶方阵,具有各对角线, 各横列与纵行的数字和都相等的性质,称为魔方阵。而这个相等的和称为魔术数字。若填入的数字是从1到n*n,称此种魔方阵为n阶正规魔方阵。 4.最早的魔方阵相传古时为了帮助治水专家大禹统治天下,由水中浮出两只庞大动物背

罗伯法构造幻方

#include #include using namespace std; int main() { int n,m,i,j,k,a[30][30],b,c; while(cin>>n) { if(n==0) break; m=1; k=n/2+1; for(j=n;;j=j-2) { if(j<=0) j=n+j; if(k==0) k=n+k; if(m==n*n+1) break; for(i=0,b=0,c=1;c<=n;i=i+1,b=b+1,c=c+1) { if(i+j==n+1) i=i-n; if(b+k==n+1) b=b-n; a[i+j][b+k]=m; m=m+1; } k=k-1; } for(i=1;i<=n;i++) { for(j=1;j<=n;j++) cout<

1)每一个数放在前一个数的右上一格; 2)如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列; 3)如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上一行; 4)如果这个数所要放的格已经超出了顶行且超出了最右列那么就把它放在前一个数的下 一行同一列的格内; 5)如果这个数所要放的格已经有数填入,处理方法同4)。

#include using namespace std; int main() { int n; int a[100],b[100],i,j,max; while(cin>>n) { for(i=0;i>b[i]; a[0]=1; for(i=1;ib[j] && a[i]<=a[j]) a[i]=a[j]+1; } } for(max=i=0;i<=n-1;i++) { if(a[i]>max) max=a[i]; } cout<

偶数阶魔方阵构造方法

偶数阶魔方阵构造方法 2009-11-03 10:23:40| 分类:其他|字号大中小订阅 (1)n = 4k(4的整数倍时) (1) 先将整个方阵划分成k*k个4阶方阵,然后在每个4阶方阵的对角线上做记号 (2) 由左而右、由上而下,遇到没有记号的位置才填数字,但不管是否填入数字,每移动一格数字都要加1 (3) 自右下角开始,由右而左、由下而上,遇到没有数字的位置就填入数字,但每移动一格数字都要加1 例:k=1时构造完如下 16 2 3 13 5 11 10 8 9 7 6 12 4 14 1 5 1 (2)n = 4k + 2 本法填制魔方阵时,先将整个方阵划成田字型的四个2 k + 1阶的奇数阶小方阵,并以下法做注记: 1,右半两个小方阵中大于k+2的列。 2,左半两个小方阵中( k + 1 , k + 1 )的格位。 3,左半两个小方阵中除了( 1 , k + 1 )的格位之外,小于k +1的列。 以奇数阶魔方阵的方法连续填制法依左上、右下、右上、左下的顺序分别填制这四个小方阵。 将上半及下半方阵中有注记的数字对调,魔方阵完成。 例:k=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*n(n>=3)个数字放入n*n的方格内,使方格的各行、各列及对角线上各数字之各相等。 我很早就对此非常感兴趣,也有所收获。 8 1 6 3 5 7 4 9 2 本数学模型于1999年9月26日构造。 奇阶幻方 当n为奇数时,我们称幻方为奇阶幻方。可以用Merzirac法与loubere法实现,根据我的研究,发现用国际象棋之马步也可构造出更为神奇的奇幻方,故命名为horse法。 偶阶幻方 当n为偶数时,我们称幻方为偶阶幻方。当n可以被4整除时,我们称该偶阶幻方为双偶幻方;当n不可被4整除时,我们称该偶阶幻方为单偶幻方。可用了Hire法、Strachey以及YinMagic将其实现,Strachey为单偶模型,我对双偶(4m 阶)进行了重新修改,制作了另一个可行的数学模型,称之为Spring。YinMagic 是我于2002年设计的模型,他可以生成任意的偶阶幻方。 在填幻方前我们做如下约定:如填定数字超出幻方格范围,则把幻方看成是可以无限伸展的图形,如下图: Merzirac法生成奇阶幻方 在第一行居中的方格内放1,依次向左上方填入2、3、4…,如果左上方已有数字,则向下移一格继续填写。如下图用Merziral法生成的5阶幻方: 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法生成的7阶幻方: 30 39 48 1 10 19 28 38 47 7 9 18 27 29 46 6 8 17 26 35 37 5 14 1 6 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 horse法生成奇阶幻方 先在任意一格内放入1。向左走1步,并下走2步放入2(称为马步),向左走1步,并下走2步放入3,依次类推放到n。在n的下方放入n+1(称为跳步),再按上述方法放置到2n,在2n的下边放入2n+1。如下图用Horse法生成的5阶幻方: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 一般的,令矩阵[1,1]为向右走一步,向上走一步,[-1,0]为向左走一步。则马步可以表示为2X+Y,{X∈{[1,0], [-1,0]},Y∈{[0,1], [0,-1]}}∪{Y∈{[1,0], [-1,0]},X∈{[0,1], [0,-1]}}。对于2X+Y相应的跳步可以为2Y,-Y,X,-Y,X,3X,3X+3Y。上面的的是X型跳步。Horse法生成的幻方为魔鬼幻方。 Hire法生成偶阶幻方 将n阶幻方看作一个矩阵,记为A,其中的第i行j列方格内的数字记为a(i,j)。在A内两对角线上填写1、2、3、……、n,各行再填写1、2、3、……、n,使各行各列数字之和为n*(n+1)/2。填写方法为:第1行从n到1填写,从第2行到第n/2行按从1到进行填写(第2行第1列填n,第2行第n列填1),从第n/2+1到第n 行按n到1进行填写,对角线的方格内数字不变。如下所示为6阶填写方法: 1 5 4 3 2 6 6 2 3 4 5 1 1 2 3 4 5 6

幻方的制作方法

奇数阶幻方,偶数阶幻方,六阶幻方的制作方法 罗伯法(适合编制所有的奇阶幻方) 一居上行正中央,依次斜填切莫忘, 上出格时往下填,右出格时左边放, 排重便在下格填,角上出格一个样。 六阶幻方,具体的做是: 偶阶幻方分两类:双偶数阶幻方和单偶数阶幻方 双偶数:四阶幻方,八阶幻方,……4K阶幻方, 可用<对称交换法>,方法很简单: 1) 把自然数依次排成方阵

2) 把幻方划成4×4的小区,每个小区划对角线 3) 把这些对角线所划到的数,保持不动 4) 把没划到的数,按幻方的中心,以中心对称的方式,进行对调 幻方完成! 单偶数:六阶幻方,十阶幻方,……4K+2阶幻方 方法是很繁的,有一种称<同心方阵法>: 1) 把幻方分成两个区:一是边框一圈;二是里面一个双偶数方阵, 2) 把(3+8K)到(16K2 +8K+2)按双偶数幻方方法填入双偶数方阵 3) 把余下的数,在边上试填,调整到符合为止 六阶幻方(4×1+2,k=1)就是把11~26填入中间4×4方格中 传说在很久很久以前,黄河里跃起一匹龙马,马背上驮着一幅图;洛水里也浮出一只神龟,龟背上也驮着一幅图。这两幅图上都用圆点来表示一组数字,马背上的那幅称为“河图”,龟背上的那幅称为“洛书”。(参见图1)再后来,经过人们研究,发现图中右边的那幅“洛书”,其实是一幅纵横

图,即用1到9这9个数字组成一幅数字图,使它横的每行相加、竖的每列相加以及对角线相加,其和都等于15(参见图2)。我们知道,纵横图就是今天所说的“幻方”,一般地,是指把从1到十的自然数排成纵横各有m 个数,并且使同行、同列及同一对角线上的n个数的和都相等的一种方阵,其中涉及的是组合数学的问题。而前面所说的“洛书”,就是我国最早的一个三阶幻方。 图1 河图洛书图2 纵横图 长期以来,纵横图一直被看作是一种数字游戏。一直到南宋时期的数学家杨辉,才真正把它作为一个数学问题而加以深入的研究。杨辉在他的《续古摘奇算法》一书中,不仅搜集到了大量的各种类型的纵横图,而且对其中的部分纵横图还给出了如何构造的规则和方法,从而开创了这一组合数学研究的新领域。 杨辉给出的方形纵横图共有十三幅,它们是:洛书数(三阶幻方)一幅,四四图(四阶幻方)两幅,五五图(五阶幻方)两幅,六六图(六阶幻方)两幅,七七图(七阶幻方)两幅,六十四图(八阶幻方)两幅,九

数据结构课程设计之奇数魔方阵

长沙理工大学 《数据结构》课程设计报告 田晓辉 学 院 计算机与通信工程 专 业 计算机科学与技术 班 级 计08-01 学 号 200850080110 学生姓名 田晓辉 指导教师 陈倩诒 课程成绩 完成日期 2010年7月10日

课程设计成绩评定 学院计算机与通信工程专业计算机科学与技术班级计08-01学号200850080110 学生姓名田晓辉指导教师陈倩诒 完成日期2010年7月10日 指导教师对学生在课程设计中的评价 评分项目优良中及格不及格课程设计中的创造性成果 学生掌握课程内容的程度 课程设计完成情况 课程设计动手能力 文字表达 学习态度 规范要求 课程设计论文的质量 指导教师对课程设计的评定意见 综合成绩指导教师签字 2010年7月10日

课程设计任务书 计算机与通信工程学院计算机科学技术专业 课程名称数据结构课程设计时间2010学年第2学期18~19周学生姓名田晓辉指导老师陈倩诒 题目用C语言解决魔方阵问题 主要内容:建立一个n*n阶的矩阵,在这个矩阵中填入1到n2(n为奇数)个数,使得每行、每列以及每条对角线的和相等。 要求: (1)通过实际项目的分析、设计、编码、测试等工作,掌握用C 语言来开发和维护软件。 (2)按要求编写课程设计报告书,能正确编写分析、设计、编码、测试等技术文档和用户使用手册。 应当提交的文件: (1)课程设计学年论文。 (2)课程设计附件(主要是源程序)。

用C语言解决魔方阵的问题 学生姓名:田晓辉指导老师:陈倩诒 摘要本课程设计主要解决设计一个n×n的矩阵中填入1到n2的数字(n为奇数),使得每一行、每一列、每条对角线的累加和都相等的问题。在课程设计中,系统开发平台为Windows 7,程序设计语言采用Visual C++6.0,程序运行平台为Windows 98/2000/XP/7。在程序设计中,采用了C 语言结构化程序设计思想和过程设计方法,以功能函数为基本结构,对问题中的要求做出了准确的实现。程序通过调试运行,初步实现了设计目标。 关键词程序设计;C++6.0;结构化;过程设计;功能函数

小学思维数学讲义:幻方(一)-带详解

幻方(一) 1. 会用罗伯法填奇数阶幻方 2. 了解偶数阶幻方相关知识点 3. 深入学习三阶幻方 一、幻方起源 也叫纵横图,也就是把数字纵横排列成正方形,因此纵横图又叫幻方.幻方起源于我国,古人还为它编撰了一些神话.传说在大禹治水的年代,陕西的洛水经常大肆泛滥,无论怎样祭祀河神都无济于事,每年人们摆好祭品之后,河中都会爬出一只大乌龟,乌龟壳有九大块,横着数是3行,竖着数是3列,每块乌龟壳上都有几个点点,正好凑成1至9的数字,可是谁也弄不清这些小点点是什么意思.一次,大乌龟又从河里爬上来,一个看热闹的小孩惊叫起来:“瞧多有趣啊,这些点点不论横着加、竖着加还是斜着加,结果都等于十五!”于是人们赶紧把十五份祭品献给河神,说来也怪,河水果然从此不再泛滥了.这个神奇的图案叫做“幻方”,由于它有3行3列,所以叫做“三阶幻方”,这个相等的和叫做“幻和”.“洛书”就是幻和为15的三阶幻方.如下图: 98 76 54321 我国北周时期的数学家甄鸾在《算数记遗》里有一段注解:“九宫者,二四为肩,六八为足,左三右七,戴九履一,五居中央.”这段文字说明了九个数字的排列情况,可见幻方在我国历史悠久.三阶幻方又叫做九宫图,九宫图的幻方民间歌谣是这样的:“四海三山八仙洞,九龙五子一枝连;二七六郎赏月半,周围十五月团圆.”幻方的种类还很多,这节课我们将学习认识了解它们. 二、幻方定义 幻方是指横行、竖列、对角线上数的和都相等的数的方阵,具有这一性质的33?的数阵称作三阶幻方,44?的数阵称作四阶幻方,55?的称作五阶幻方……如图为三阶幻方、四阶幻方的标准式样, 9 87654 32 1 13 414151 6 1297 8 105113 2 16 三、解决这幻方常用的方法 ⑴适用于所有奇数阶幻方的填法有罗伯法.口诀是:一居上行正中央,后数依次右上连.上出框时往下填,右出框时往左填.排重便在下格填,右上排重一个样. ⑵适用于三阶幻方的三大法则有: ①求幻和: 所有数的和÷行数(或列数) ②求中心数:我们把幻方中对角线交点的数叫“中心数”,中心数=幻和÷3. ③角上的数=与它不同行、不同列、不同对角线的两数和÷2. 四、数独 知识点拨 教学目标

幻方

奇数阶幻方 教授(带图) 11 18 25 2 9 10 12 19 21 3 4 6 13 20 22 23 5 7 14 16 17 24 1 8 15 (1)五阶幻方

(2)七阶幻方

22 31 40 49 2 11 20 21 23 32 41 43 3 12 13 15 24 33 42 44 4 5 14 16 25 34 36 45 46 6 8 17 26 35 37 38 47 7 9 18 27 29 30 39 48 1 10 19 28 (1)幻方简介: 幻方(Magic Square)是一种将数字安排在正方形格子中,使每行、列和对角线上的数字和都相等的方法。幻方也是一种汉族传统游戏。旧时在官府、学堂多见。它是将从一到若干个数的自然数排成纵横各为若干个数的正方形,使在同一行、同一列和同一对角线上的几个数的和都相等。

在一个由若干个排列整齐的数组成的正方形中,图中任意一横行、一纵行及对角线的几个数之和都相等,具有这种性质的图表,称为“幻方”。中国古代称为“河图”、“洛书”,又叫“纵横图”。幻方也称纵横图、魔方、魔阵,发源于中国古代的洛书——九宫图。公元前一世纪,西汉宣帝时的博士戴德在他的政治礼仪著作《大戴礼·明堂篇》中就有“二、九、四、七、五、三、六、一、八”的洛书九宫数记载。2500年前,孔子在他研究《易经》的著作《系词上传》中记载了:“河出图,洛出书,圣人则之。”最早将数字与洛书相连的记载是2300年前的《庄子·天运》,它认为:“天有六极五常,帝王顺之则治,逆之则凶。九洛之事,治成德备,监照下土,天下戴之,此谓上皇。”明代数学家程大位在《算法统宗》中也曾发出“数何肇?其肇自图、书乎?伏羲得之以画卦,大禹得之以序畴,列圣得之以开物”的感叹,大意是说,数起源于远古时代黄河出现的河图与洛水出现的洛书,伏羲依靠河图画出八卦,大禹按照洛书划分九州,并制定治理天下的九类大法,圣人们根据它们演绎出各种治国安邦的良策,对人类社会与自然界的认识也得到步步深化。 《周易本义》中的《洛书》,一个三阶幻方 宋杨辉著《续古摘奇算法》中曾叙述三阶幻方构造法:“九子斜排,上下对易,左右相更,四维挺出,戴九履一,左三右七,二四为肩,六八为足”。 (2)解幻方方法: 1、奇数阶幻方——罗伯特法(也有人称之为楼梯法)(如图一:以五阶幻方为例) 奇数阶幻方 n为奇数(n=3,5,7,9,11……) (n=2×k+1,k=1,2,3,4,5……) 奇数阶幻方最经典的填法是罗伯特法(也有人称之为楼梯法)。填写方法是这样: 把1(或最小的数)放在第一行正中;按以下规律排列剩下的n×n-1个数: (1)每一个数放在前一个数的右上一格; (2)如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列; (3)如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上一行; (4)如果这个数所要放的格已经超出了顶行且超出了最右列,那么就把它放在前一个数的下一行同一列的格内; (5)如果这个数所要放的格已经有数填入,处理方法同(4)。 这种写法总是先向“右上”的方向,象是在爬楼梯。

三阶幻方的构造方法

三阶幻方的构造方法 洛阳市王城公园西门内屹立着一椭圆形棕色巨石,那就是河图洛书碑. 所谓洛书,指的是用1,2,3,4,5,6,7,8,9这九个数字,组成三行三列的方阵.它的每行每列及两条对角线上的三个数字的和都等于15.古时候称九宫图 ,数学上称为三阶幻方.这一问题有许多解法.这里介绍七种解法. 一 凑 这个问题介绍给小孩子们,他们会用九张纸片,分别写上九个数字(或者用九张扑克牌)在桌(地)面上摆出来答案.此法是"凑"出来的. 二 转 第一步把九个数字摆成图一.第二步让周围的八个数字绕着中心的数字依次转动一个位置,成图二,第三步将对角的数字进行对换,成图三.这个方法归结为"一排,二转,三对换".这个方法可以让孩子作游戏,也是有趣的. 987654321 698357214 4 923578 16 图一"排" 图二 "转" 图三 "对换" 三 杨辉法 我国古代数学家在"续古摘奇算法"中,总结洛书幻方的构造方法时写到:"九子排列,上下对易,左右相更,四维挺出"具体作法如图四――图七. 968 357 24 1 168357249 图四 九子排列 图五 上下对易 1687532 49 4 923578 16 图六 左右相更 图七 四维挺出

四 罗伯法 [1] 中所举的罗伯法也可以用来作三阶幻方.罗伯法是这样讲的. 1居上行正中央,依次斜填且莫忘,上出框往下写,右出框时左边放.排重便在下格填,右上排重一个样.罗伯法排出的三阶幻方见图八. 294753618 7 84951 6 23 9 34159672 图八 图九 图十 巴舍法 先画一个凸阶梯形,先填成图九,然后按"上移下,下移上,左移右,右移左"(作出的结果与杨辉法完全相同)进行调整成为图十. 五 行列交会法 首先将九个数字排成图十一,然后将中间行中间列不动,作为幻方的左右主对角线,如图十二,因每一个数都是一条左对角线与一条右对角线的交点.所以其它每一个数的行列位置按照:"左对角线与中间列的交点的行为行,右对角线与中间行的交点的列为列"的法则确定.作出的结果如图十三. 9876543 21 6 8524 图十一 图十二 6187532 94 9 8665 4 321x x x x x x x x x 图十三 图十四 六 数学解法 设图十四构成三阶幻方,列出方程组

08.幻方(三)双偶数阶幻方的编排方法

3、幻方(三)——双偶数阶幻方的编排方法 奇数阶幻方我们已经会编排了,偶数阶幻方怎么编排呢?和奇数阶幻方的编排方法一样吗?为了便于讲解,我们把偶数分为两类:一类是4、8、12、16、……这样的偶数叫做双偶数(能连续两次被2整除),双偶数也就是4的倍数,因此双偶数可用4k表示(k是自然数);另一类是6、10、14、18、……这样的偶数叫做单偶数(只能一次被2整除),单偶数可用4k+2表示(k是自然数)。这一节先学习双偶数阶幻方的编排方法。 一、中心对称交换法 例1、用1~16这十六个数编排一个四阶幻方(四行四列)。 【分析与解答】用1至16编排一个四阶幻方,就是把1~16这十六个数填入四行四列的方格内,使每行、每列、两条对角线上的四个数的和都相等。 先计算这个相等的和是多少?也就是前面学过的幻和:(1+2+3+…+15+16)÷4=34。 再想办法将这十六个数排列成幻和是34的四阶幻方。 ①先把1~16按顺序填入4×4的方格中(如下图A);我们把图A称为四阶自然方阵。 这时可以发现,两条对角线上的四个数的和都恰好是34,其它每行、每列上四个数的和都不是34,因此,这两条对角线上的八个数都不动,作为四阶幻方两条对角线上的数。 ②观察自然方阵(图A)中的第一列和第四列。 第一列上四个数的和是1+5+9+13=28,比34少6;第四列上四个数的和是4+8+12+16=40,比34多6。为了使第一列和第四列上四个数的和分别是34,只要把这两列中对角线以外的相应的数(即5和8,9与12)相互交换就可以了(图B)。 同样地,为使第二、三列上的四个数的和也是34,只要把这两列中对角线以外的相应的数(即2与3,14与15)相互交换就可以了(图C)。 ③再观察上图C的第一、第四行。 第一行上四个数的和是1+3+2+4=10,比34少24;第四行上四个数的和是13+15+14+16=58,比34多24。为了使第一行和第四行上四个数的和分别是34,只要把这两行中对角线以外的相应的数(即2和14,3与15)相互交换就可以了。 同样地,为使第二、三行上的四个数的和也是34,只要把这两行中对角线以外的相应的数(即8与12,5与9)相互交换就可以了。交换后的结果见图D,这就是一个四阶幻方。 这样编排太复杂了!能不能由四阶自然方阵直接得到四阶幻方? 对比图A与图D可以发现:只要把图A中的2与15,3与14,5与12,8与9互相交换,就可以直接得到图D(见下图)。 那么,2与15,3与14,5与12,8与9是什么关系呢?不难看出,它们的位置是“对称”的。例如2在从上往下、从左往右数的第一行第二列,而15在从下往上、从右往左数的第一行第二列。又如,9在从上往下、从左往右数的第三行第一列,而8在从下往上、从右往左数的第三行第一列。我们把这样的两个数叫“中心对称数”,也就是说只要把四阶自然方阵中对角线以外的数作中心对称交换就可以直接得到四阶幻方,把这种编排双偶数阶幻方的办法叫“中心对称交换法”。 由例1可以看到,用“中心对称交换法”编排四阶幻方的主要步骤归纳如下:

浅谈幻方以及其解法

学号 1250901205 学年论文 (2016届本科) 题目:浅谈幻方以及其解法 学院:数学与统计学院 专业:数学与应用数学 作者姓名:甘天明 指导教师:任天胜职称: 副教授 完成日期: 2014 年 12 月 18 日

浅谈幻方以及其解法 甘天明指导教师:任天胜 (河西学院数学与应用数学专业2016届2班05号甘肃张掖 734000) 摘要多少世纪以来,人们对幻方总是怀着浓厚的兴趣,从古代起幻方就跟某些超自然和魔术的领域相联系。在古代亚洲的城市,人们在考古挖掘中发现了它们。有关幻方的最早纪录,是约于公元前2200年在中国出现的“洛书”,传说这个幻方最初是大禹在黄河岸边的一只神龟的背上看到的。 幻方,有时又称魔方(该称呼现一般指立方体的魔术方块)或纵横图,有一组排放在正方形中的整数组成,其每行、每列以及两条对角线上的数之和均相等。幻方起源于我国,并由我国传到全世界,在这漫长的历史中,幻方也得到了广泛的发展和进步。 本文主要分为两部分,第一部分从幻方的历史和发展,幻方问题的研究以及幻方的应用来认识幻方;第二部分主要介绍幻方的解法。 关键字: 幻方;幻和;奇幻方;偶幻方. 1 引言 我国的纵横图通过东南亚国家,印度和阿拉伯传到西方。由于纵横图具有十分奇幻的特性,西方把纵横图叫做 Magic Square,翻译成中文就是“幻方”或“魔方”。在一个由若干个排列整齐的数组成的正方形中,图中任意一横行、一纵列及对角线的几个数之和都相等,具有这种性质的图表,称为“幻方”。 幻方问题是具有悠久历史的复杂排列组合问题。幻方问题的复杂性不仅在于解的多样性随阶数指数递增,而且在于解在可行排列空间中所占的比例随阶数指数递减。 此外,在文章中,简单介绍了幻方在数学、智力开发、科学以及艺术中的应用,我们从多个角度去探寻幻方的历史,发展和在现实生活中的应用,以此来进一步加深对幻方的理解。 在文章第二部分,也介绍了幻方的几种解法,从不同的角度对幻方的解法做了一点讨论与研究。 2预备知识 的方阵中,放入从1开始的2n个定义2.1 幻方,也叫纵横图,就是在n n 自然数,在一定的布局下,其各行、各列和两条对角线上的数字之和正好相等。 定义2.2 幻方的各行、各列和两条对角线上的数字之和相等的和数即为幻和,也叫幻方常数。 定义2.3 奇阶幻方:当幻方中的n为奇数时,我们称幻方为奇阶幻方。

相关主题
文本预览
相关文档 最新文档