数阶幻方的编排方法

合集下载

幻方填入规律

幻方填入规律

幻方,亦称纵横图。

台湾称为魔术方阵。

将自然数1,2,3,⋯⋯n*n排列成一个n*n 方阵,使得每行、每列以及两对角线上的各个数之和都相等,等于n/2*(n*n+1) ,这样的方阵称为幻方。

例如:把1,2,3,4,5,6,7,8,9 填入3*3 的格子,使得:每行、每列、两条对角线的和是15 。

n 是它的阶数,比如上面的幻方是 3 阶。

n/2*(n*n+1) 为幻方的变幻常数。

数学上已经证明,对于n>2 ,n 阶幻方都存在。

目前填写幻方的方法,是把幻方分成了三类,每类又有各种各样的填写方法。

这里对于这三类幻方,仅举出一种方便手工填写的方法。

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)。

这种写法总是先向“右上” 的方向,象是在爬楼梯。

2、双偶阶幻方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⋯⋯换完后就是一个四阶幻方。

三阶、四阶、六阶幻方解题口诀

三阶、四阶、六阶幻方解题口诀

三阶、四阶、六阶幻⽅解题⼝诀⼤家听过⼤禹治⽔的故事吗?相传在那个年代,陕西的洛⽔常常泛滥成灾,每当河⽔泛滥之时,会有⼀直乌龟浮出⽔⾯,当时⼈们也不知道为什么,只是觉得很好奇,于是⼈们开始研究这个规律。

经过⼀段时间的观察,发现后来发现乌龟背上的龟壳分为9块,横着有三⾏,竖着有三⾏,⽽且每⼀块⾥边都有⼀些⼩点,每块龟壳⾥⾯的点数刚好凑成1-9这9个数字,可是,谁也弄不清楚这些点数到底有什么含义。

直到有⼀年,河⽔还是泛滥成灾,乌龟⼜浮上了⽔⾯,这时有个⼩孩在岸边⼤喊⼤叫起来:“⼤家快来看啊,这些⼩点⾮常有趣,横着看加起来是15,竖着看,加起来也是15,斜着看加起来还是15!”这个数字之谜竟然被⼀个⼩孩⼦给想明⽩了。

后来⼤⼈们觉得⼤概河神想要每样祭品的数量是15份吧,于是赶紧抬来15头猪、15头⽜和15只⽺献给河神,果然,从此以后河⽔再也不泛滥了…当然了,这只是⼀个传说,这个乌龟上的图案就是我们要学习的内容“幻⽅”,也叫“洛书”、“纵横图”、“魔阵”等等。

接下来我们就来揭开“幻⽅”的神秘⾯纱,⼀起来学习⼀下吧!幻⽅是把1⾄n^2的⾃然数排列成正⽅形,使它的纵横均有n个数,⽽把每⾏、每列、两条对⾓线的数加起来,它们的和都是相等的,这个和叫做幻和。

幻⽅的特征是横、竖、斜相加的得数都相等,幻⽅的幻和会等于n(n^2+1)÷2。

幻⽅按照纵横各有数字的个数可分为三阶幻⽅、四阶幻⽅、五阶幻⽅、六阶幻⽅…按照纵横数字数量为奇数、偶数可分为奇阶幻⽅、偶阶幻⽅。

三阶幻⽅我们⾸先简单介绍⼀下三阶幻⽅:把1-9填⼊⽅格,使幻⽅成⽴。

它也是⼀个奇阶幻⽅,幻和是3×(3^2+1)÷2=15。

那么这⾥⾯的数字我们是怎么得来的呢?第⼀种⽅法⼝诀是:九⼦斜排,上下对易,左右更替,四维挺出。

实际就分为四个步骤:第⼀个步骤是九⼦斜排,意思呢就是按照图中的形状斜着排列1-9的9个数字;第⼆个步骤是上下对易,也就是最顶端的数字和最底端的数字1和9对换;第三个步骤是左右更替,即将最左端和最右端的两个数字7和3对换;第四个步骤是四维挺出,如图所⽰把这四个数字向四个⽅向分别挺出。

初一幻方的规律和方法

初一幻方的规律和方法

初一幻方的规律和方法
以下是一种适用于奇数阶幻方的规律和方法:
1. 把“1”放在中间一列最上边的方格中。

2. 从这个“1”开始,按对角线方向顺次把由小到大的各数放入各方格中,如果碰到顶则折向底,如果到达右侧则转向左侧,如果进行中轮到的方格中已有数或到达右上角,则退至前一格的下方。

例如,如果构建一个5阶幻方,那么根据以上方法可以得到:
以上步骤只是一个简单的记忆口诀,并不代表全部的方法。

如果你有任何关于如何构造幻方的具体问题,请告诉我,我会尽力帮助你。

幻方编排法

幻方编排法

97 74 28 29 71 70 32 33 67 4
1
66 36 37 63 62 40 41 59
100
96 43 57 56 46 47 53 52 50 5 13 51 49 48 54 55 45 44 58 88 87 42 60 61 39 38 64 65 35 14 16 34 68 69 31 30 72 73 27 85 86 75 25 24 78 79 21 20 82 15 99 83 8 9 10 11 12 95 84 94
7
3
18
6
17 2
十 阶 幻 方
4
1
5 13 14 16 15 83 8 9 10 11 12
偶阶幻方分为4K型和4K+2型
4K型又称为双偶型如8阶幻方,方法是先将数字依 次填入,然后将之分成4X4的方格,划出各自的对 角线,最后将对角线以外的数字按整个大幻方的中 心进行中心对称交换。 4K+2型先将最外一圈空着,然后把数字从 8K+3~16K2+8K+2按双偶幻方填法填入空格中, 最外一圈只能去凑了。
1
63
62
11 19 38 30 43 51 6
4
53 45 28 36 21 13 60
5
52 44 29 37 20 12 61
59
14 22 35 27 46 54 3
58
15 23 34 26 47 55 2
8
49 41 32 40 17 9 64
56 10
八 阶 幻 方
48 18 25 39 33 31 24 42 16 50 57 7
1
63
62
11 19 38 30 43 51 6

数学北师大版七年级上册四阶幻方的编制口诀

数学北师大版七年级上册四阶幻方的编制口诀
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
(1)先帮我算幻和好吗? 幻和=(1+2+…+16)÷4= 34 (2)那么现在请帮我这些数 依次填进去好吗?
三阶幻方的幻和可以用9个数的和除以3; 那么四阶幻方的幻和也可以用16个数的和除以4
(3)现在来分析这个列表
幻和=34
三阶幻方:三行三列,共3×3=9个数 列表如下: 四阶幻方: 四行四列,共4×4=16个数 1997年美国科学
家发射了两个宇 宙飞船,在飞船 上为了向外星人 展示人类的文明, 科学家就选择了 一张是四阶幻方 的图片……
7
12
1
14
下面我们就来探索如何编制四阶幻方:
探究二
那我们试一试把1到16这16个数字填进空格里好吗?
1
2
3
4 第一行和=10 少了24 8
第二行和=26
5
9
第 一 对角线和=34 列 和
6
7
少了8
10 11 12 第三行和=42 多了8 15
第 三 列 和
13 14
第 二 列 和
16 第四行和=58 多了2幻和=34 少了6
=28
多了2 少了2 多了6
=40
老师说:根据刚才的情况我们发现对角线上的 4个数和就是幻和,那么就让它们位置都不变。 1 2 3 4
4个数和= 34 4个数和= 34 1.我先变个中心点 4个数和= 34 2.数字2(和3)与 4个数和= 34 谁关于中心点相对 3.数字5(和9)与 谁关于中心点相对
5
6
7
8
9 10 13 14
它就是对称交换法
11 12 15 16

幻方之填法(自我学习总结)

幻方之填法(自我学习总结)

幻方的填写技巧一、N阶幻方的分类:1、奇数阶幻方:当n=2k+1时,称为奇数阶幻方。

2、偶数阶幻方:(1)双偶数幻方:当n=4k=2×2k时,称为双偶数数阶幻方。

(2)单偶数幻方:当n=4k+2=2×(2k+1)时,称为单偶数阶幻方。

二、幻方的填写方法:1、奇数阶幻方:可按照如下方法操作:Merzirac法,有人也叫楼梯法,我管它叫斜步法,即走X+Y斜步(数字按右上方顺序填入),-Y跳步(如果右上方已有数字或出了对角线,则向下移一格继续填写)。

其实斜步法可以向4个方向依次填写数字,即右上、右下、左上、左下4个方向,每种斜步都可有2种跳步,即左(右)跳步、上(下)跳步。

对于X+Y斜步相应的跳步可以为-X,-Y。

【记住,跳步是X+Y斜步的X(或Y)相反方向即可。

如右上方向斜步,跳步就为向左(或向下)一步;左下方向斜步,跳步就为向右(或向上)一步;等等等等】(2)杨辉“阳动阴静”法南宋杨辉不仅精通数学,而且精通易学,在他1275年所著的《续古摘奇算法》中,就对河图和洛书的数学问题进行了详尽的研究。

其中对3阶幻方的排列,找出了一种奇妙的规律:“九子斜排,上下对易,左右相更,四维挺出,戴九履一,左三右七,二四为肩,六八为足”,清代,2、双偶数阶幻方:可按照如下方法操作:(一)四阶幻方:(1) 对角线上的数字一律不动;(2) 对角线以外的数字关于对角线交点作中心对称对换位置即可。

(3) 完成后的四阶幻方如下:(1)对角线上的数字一律不动;(2)对角线以外的数字关于对角线交点作中心对称对换位置即可。

(3)3、(按奇数阶幻方填法按区域填写)(二)十阶幻方:我就在旁边静静地呆着,不言不语,生怕惊扰这静谧的美好,惟愿时光驻留,变成永恒回忆;惟愿几十年后,两鬓斑白的我们仍然携手坐在阳台上,不谈悲喜,只闻花香。

携手的日子总是温暖多过于寒冷,欢笑多过于失意,此时此刻,感恩日子的温润让自己满足。

一个人的独立,两个人的扶持,让光阴有滋有味,富有弹性。

幻方的制作方法

幻方的制作方法

奇数阶幻方,偶数阶幻方,六阶幻方的制作方法罗伯法(适合编制所有的奇阶幻方)一居上行正中央,依次斜填切莫忘,上出格时往下填,右出格时左边放,排重便在下格填,角上出格一个样。

六阶幻方,具体的做是:偶阶幻方分两类:双偶数阶幻方和单偶数阶幻方双偶数:四阶幻方,八阶幻方,……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 纵横图长期以来,纵横图一直被看作是一种数字游戏。

一直到南宋时期的数学家杨辉,才真正把它作为一个数学问题而加以深入的研究。

09.幻方(四)单偶数阶幻方的编排方法

09.幻方(四)单偶数阶幻方的编排方法

4、幻方(四)——单偶数阶幻方的编排方法我们已经知道,双偶数阶幻方使用“中心对称交换法”编排比较简单,那么,单偶数阶幻方(六阶、十阶、十四阶……)能使用“中心对称交换法”编排吗?我们以六阶幻方为例进行研究。

按照中心对称交换的步骤,应先排出一个六阶自然方阵(如下图A),如果对角线上的数不动,我们先把第一行和倒数第一行除对角线外的各数进行中心对称交换,结果如下图B所示。

从图B可以看到,第一行大数多而小数少,而倒数第一行反而是小数多而大数少,显然这两行的和不会相等,所以不能再照搬中心对称交换法来编排单偶数阶幻方。

下面我们介绍一种单偶数阶幻方的编排方法——同心方阵法。

什么是同心方阵法呢?如果编排一个六阶幻方,就要先编排一个四阶幻方作为中心,然后在它的四周再编排一个外框,这样就可构成六阶幻方。

使用同心方阵法,用1~36这三十六个数编排六阶幻方的具体步骤如下:一、因为要编排的是六阶幻方,所以要取(6-2)×(6-2)=16个数来编排中心部分的四阶幻方。

取哪些数呢?中间的16个,也就是要去掉前、后各(36-16)÷2=10个数,即取11、12、13、14、…、25、26这十六个数,用编排四阶幻方的方法在6×6的中心编成一个四阶幻方。

二、编排四阶幻方的外框。

①用哪些数编排外框?从1~36中已经取出11至26来编排中心的四阶幻方,这弱就还剩下1~10这十个小数,27~36这十个大数。

为了使用方便,我们把这二十个大、小数排成下列形式;注意:这些数相应的一大一小两个数恰好都是37。

②怎样编排外框?由求幻和公式可知:六阶幻方的幻和=(1+2+3+4+…+35+36)÷6=111,四阶幻方的幻和=(11+12+13+…+25+26)÷4=74,111-74=37,这就是说,在已经编好的中心四阶幻方的每列(行)的两端空格里必须填入和是37的两个数。

又知上面相应的一大一小两个数的和恰好是37,因此,只要在每列(行)的两端空格里分别填入相应的一个大数和一个小数就可以了。

数阶幻方的编排方法

数阶幻方的编排方法

数阶幻方的编排方法什么是数阶幻方?数阶幻方是一种古老的数学问题,其中的数字被排列在一个正方形的矩阵中,并且每一行、每一列以及对角线的所有数字之和都相等。

幻方有很多阶数,比如3阶幻方、4阶幻方、5阶幻方,以此类推。

在本文中,我将探讨一些数阶幻方的编排方法。

3阶幻方的编排方法:最简单的3阶幻方可以通过填充1到9之间的数字来实现。

可以使用简单的试错方法,将数字填入3x3矩阵中,并检查每一行、每一列以及对角线的和是否相等。

下面是一种可能的解决方案:```816357492```上面的解决方案是通过不断尝试和调整数字的位置来得到的。

当然,3阶幻方还有其他可能的编排方法,但这是最常见的一种。

4阶幻方的编排方法:4阶幻方相对更加复杂一些,因为需要填充16个数字。

简单的试错方法通常不再适用,需要使用一些更加高级的算法来解决问题。

一种解决4阶幻方问题的方法是使用“奇偶对角线法”。

这种方法涉及到将数字分成两组:奇数和偶数。

首先,将1放置在矩阵的中心,并将2放置在1的上方。

然后,将3放置在2的右方,以此类推,直到填满了一个对角线。

此时,将奇数组的数字放置在偶数组的对角线上,并反之亦然。

最后,将两组数字各自在外侧的对角线上交换位置。

下面是一种可能的解决方案:```11415412679810115133216```需要注意的是,这种方法只是其中一种可能的4阶幻方编排方法,并且可能有多个解决方案。

其他数阶幻方的编排方法:对于更高阶的幻方,编排方法会更加复杂。

通常,需要使用更加高级的算法和数学技巧来解决问题。

对于5阶幻方,可以使用“差位赋值法”来填充数字。

该方法涉及到将数字从1到25分别放在矩阵中不同的位置上,使得每一行、每一列以及对角线的和都相等。

对于6阶幻方,目前还没有找到一种通用的解决方法。

6阶幻方问题一直以来都是数学家们的挑战,至今尚未找到完整的编排方法。

总结:数阶幻方的编排方法各不相同,对于较低阶的幻方,可以使用试错法和一些基本的编排方法来得到解决。

幻方_??????

幻方_??????

幻方1.概念简析:幻方:是指横行、竖列、对角线上数的和都相等的数的方阵,具有这一性质的3×3的数阵称作三阶幻方,4×4的数阵称作四阶幻方,5×5的称作五阶幻方……如图为三阶幻方、四阶幻方的标准式样.2.构造幻方常用的方法:(1)适用于所有奇数阶幻方的填法—罗伯法.口诀是:一居上行正中央,后数依次右上连.上出框时往下填,右出框时往左填.排重便在下格填,右上排重一个样.(2)仅适用于三阶幻方—九宫格口诀.口诀是:九宫者,二四为肩,六八为足,左七右三,戴九履一,五居中央。

(3)适用于所有偶数阶幻方的填法—对称交换的方法1.将数依次填入方格中,对角线满足要求。

2.调整行,对角线数不动,对称行的其它数对调;调整列,对角线数不动,对称列的其它数对调。

3.三阶幻方的性质:1.幻和相等,幻和等于9个数的和除以3.2.中间数必位于幻方中心,中间数等于幻和除以3.3.黄金三角: 黄金三角顶点的数为两腰之和除以2.视频描述把0、2、4、6、8、10、12、14、16这9个数填在下面图中的方格内,使每行、每列和每条对角线上的三个数的和都相等。

1.1.请用11、13、15、17、19、21、23、25、27编制一个三阶幻方。

注:此题答案默认为0,正确答案见解析!2.2.把7—15这九个数构成一个三阶幻方。

注:此题答案默认为0,正确答案见解析!3.3.请用1、4、7、10、13、16、19、22、25编制一个三阶幻方。

注:此题答案默认为0,正确答案见解析!视频描述将下面左边方格中的9个数填入右边方格中,使每一行、每一列、每条对角线中的三个数相加的和都相等。

1.1.将图中的数重新排列,使横行、竖行、对角线上的三个数的和都相等。

注:此题答案默认为0,正确答案见解析!2.2.把3、4、5、8、9、10、13、14、15编成一个三阶幻方,并求出幻和是多少?3.3.将图中的数重新排列,使横行、竖行、对角线上的三个数的和都相等。

幻方算法

幻方算法

幻方算法首先,奇数的幻方,第一行中间放1,然后依次2、3、4一直往右上填,越界则反向,如果该位置有了数字,则排在前一个数的下面。

原则:非右上则下其次,4的倍数的的幻方。

设N%4等于0,则以每个4*4画对角,不在对角线上的数字与相对应数字对换。

比如8*8的,(0,1)与(7,6)对换,类推。

原则:横竖下标对N比余,相等或相加等于3则忽略,不做对换最后,最复杂的最后一种情况,单偶数的幻方。

我找了资料,但是没有完全好用的,总有缺陷概念:N=4m+2方法1:ACDB按上图将其分为4个部分,分别填入1-N*N/4组成的奇数幻方,N*N/4+1-N*N/2组成的奇数幻方,N*N/2+1-N*N/4*3组成的奇数幻方,N*N/4*3-N*N组成的奇数幻方将AD中m列互换。

不是镜面互换,而是平移。

将BC中m-1列互换,同上。

方法2:LUX法L U X41 14 1423 23 32先做一个N/2的奇数幻方,然后把这个幻方的每个数x替换成一个田字的四个数(x-1)*4+1——x*4这四个数的排列顺序有3种,前m+1行的按L排列,后m-1行的按X排列,中间一行中间一列按L排列,其余的按U排列。

下面是我写的JAVA实现类,2种单偶数我都实现了(第一种方法的实现被我注释掉了),还有一个监测的方法,仅供参考。

public class HuanClass {private int N;private int SUM;private int MAX;private int[][] RE;public HuanClass(int val) throws Exception{N=val;MAX=N*N;if(MAX%2==1)SUM=(MAX+1)/2*N;else SUM=(MAX+1)*N/2;RE=new int[N][N];if(N<3)throw new Exception("shit");else if(N%2==1)RE=CountOdd(N);else if(N%4==0)CountFour();elseCountEven();}private int[][] CountOdd(int n){int[][] IRE=new int[n][n];int i=0;int j=n/2;int tmp=1;while(true){if(j>=n)j=0;if(i<0)i=n-1;if(IRE[i][j]==0){IRE[i--][j++]=tmp++;}else{i+=2;j--;if(j<0)j=n-1;if(i>=n)i=i%n;if(IRE[i][j]==0)IRE[i--][j++]=tmp++;else break;}}return IRE;}private void CountFour(){int fillCount=1;for(int i=0;i<N;i++){for(int j=0;j<N;j++){RE[i][j]=fillCount;fillCount++;}}int tmp;for(int i=0;i<N;i++){for(int j=0;j<N/2;j++){if(i%4!=j%4&&(j%4+i%4)!=3){tmp=RE[i][j];RE[i][j]=RE[N-i-1][N-j-1];RE[N-i-1][N-j-1]=tmp;}}}}/*private void CountEven(){int halfN=N/2;int[][] tmpIArr=CountOdd(halfN);for(int i=0;i<halfN;i++){for(int j=0;j<halfN;j++){RE[i][j]=tmpIArr[i][j];RE[i+halfN][j]=tmpIArr[i][j]+halfN*halfN*3;RE[i][j+halfN]=tmpIArr[i][j]+halfN*halfN*2;RE[i+halfN][j+halfN]=tmpIArr[i][j]+halfN*halfN; }}int m=(halfN-1)/2;int tmp;for(int j=0;j<m;j++){for(int i=0;i<halfN;i++){tmp=RE[i][j];RE[i][j]=RE[i+halfN][j];RE[i+halfN][j]=tmp;if(j<m-1){tmp=RE[i][j+halfN];RE[i][j+halfN]=RE[i+halfN][j+halfN];RE[i+halfN][j+halfN]=tmp;}}}}*/private void CountEven(){int halfN=N/2;int m=(halfN-1)/2;int[][] Seq=CountOdd(halfN);char[][] SeqSign=new char[halfN][halfN]; for(int i=0;i<SeqSign.length;i++){for(int j=0;j<SeqSign[i].length;j++){ SeqSign[i][j]='L';}}int i=halfN-1;for(int l=1;l<m;l++,i--){for(int j=0;j<halfN;j++){SeqSign[i][j]='X';}}for(int j=0;j<halfN;j++){if(j==halfN/2)SeqSign[i][j]='L';elseSeqSign[i][j]='U';}for(i=0;i<halfN;i++){for(int j=0;j<halfN;j++){int beginNum=(Seq[i][j]-1)*4;switch (SeqSign[i][j]){case 'L':RE[i*2][j*2]=beginNum+4;RE[i*2+1][j*2]=beginNum+2;RE[i*2][j*2+1]=beginNum+1;RE[i*2+1][j*2+1]=beginNum+3;break;case 'U':RE[i*2][j*2]=beginNum+1;RE[i*2+1][j*2]=beginNum+2;RE[i*2][j*2+1]=beginNum+4;RE[i*2+1][j*2+1]=beginNum+3;break;case 'X':RE[i*2][j*2]=beginNum+1;RE[i*2+1][j*2]=beginNum+3;RE[i*2][j*2+1]=beginNum+4;RE[i*2+1][j*2+1]=beginNum+2;break;}}}}public int[][] getHuan(){return RE;}public boolean check(){for(int i=0;i<N;i++){int tmpSum1=0;int tmpSum2=0;for(int j=0;j<N;j++){tmpSum1+=RE[i][j];tmpSum2+=RE[j][i];}if(tmpSum1!=SUM||tmpSum2!=SUM)return false;}int sum1=0,sum2=0;for(int i=0;i<N;i++){sum1+=RE[i][i];sum2+=RE[i][N-1-i];}if(sum1!=SUM||sum2!=SUM)return false;return true;}}幻方维基百科,自由的百科全书跳转到: 导航, 搜索幻方,有时又称魔方(该称呼现一般指立方体的魔術方塊)或纵横图,由一组排放在正方形中的整数组成,其每行、每列以及两条对角线上的数之和均相等。

幻方常见方法汇总

幻方常见方法汇总

幻方常规解法汇总
幻方(Magic Square)是一种将数字安排在正方形格子中,使每行、列和对角线上的数字和都相等的方法。

单偶数阶幻方(象限对称交换法)
以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象限标出的这些数,和D象限相对位置上的数进行交换,就形成幻方。

下面是6阶幻方的填法:6=4×1+2,这时k=1。

幻方算法(转)

幻方算法(转)

幻⽅算法(转)幻⽅的算法(C++版)⼀、幻⽅按照阶数可分成了三类,即奇数阶幻⽅、双偶阶幻⽅、单偶阶幻⽅。

⼆、奇数阶幻⽅(劳伯法)奇数阶幻⽅最经典的填法是罗伯法。

填写的⽅法是:把1(或最⼩的数)放在第⼀⾏正中;按以下规律排列剩下的(n×n-1)个数:(1)每⼀个数放在前⼀个数的右上⼀格;(2)如果这个数所要放的格已经超出了顶⾏那么就把它放在底⾏,仍然要放在右⼀列;(3)如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上⼀⾏;(4)如果这个数所要放的格已经超出了顶⾏且超出了最右列,那么就把它放在底⾏且最左列;(5)如果这个数所要放的格已经有数填⼊,那么就把它放在前⼀个数的下⼀⾏同⼀列的格内。

例,⽤该填法获得的5阶幻⽅:17241815235714164613202210121921311182529⼆、双偶数阶幻⽅(海尔法)所谓双偶阶幻⽅就是当n可以被4整除时的偶阶幻⽅,即4K阶幻⽅。

在说解法之前我们先说明⼀个“互补数”定义:就是在n阶幻⽅中,如果两个数的和等于幻⽅中最⼤的数与1的和(即n×n+1),我们称它们为⼀对互补数。

如在三阶幻⽅中,每⼀对和为10的数,是⼀对互补数;在四阶幻⽅中,每⼀对和为17的数,是⼀对互补数。

双偶数阶幻⽅最经典的填法是海尔法。

填写的⽅法是:以8阶幻⽅为例:(1)先把数字按顺序填。

然后,按4×4把它分割成4块(如图)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364(2)每个⼩⽅阵对⾓线上的数字(如左上⾓⼩⽅阵部分),换成和它互补的数。

64236160675795554121351501617474620214342244026273736303133323435292838392541232244451918484915145253111056858595462631三、单偶数阶幻⽅(斯特拉兹法)所谓单偶阶幻⽅就是当n不可以被4整除时的偶阶幻⽅,即4K+2阶幻⽅。

奇数幻方、偶数幻方的规律

奇数幻方、偶数幻方的规律

1515151515151515343434343434343434346565656565656565656565651111111111111111111111116以1居第一行中,将幻方看成一个球形,从1开始绕球一周得到奇数阶幻方。

53以1居第一行中,将幻方看成一个球形,从1开始绕球一周得到奇数阶幻方。

画出四阶对角线,从左往右从上往下按顺序填入数字,空开对角线不覆盖的空格,再从右往左,从下往上按顺序将空白处填满。

4以洛书为出发点,将四小格看成一个大格,以1、2、3、4替代1, 5、6、7、8替代2。

依次类推,在做适当调整。

1751751751751751751751751752602602602602602602602602602603693693693693693693693693693693695059以1居第一行中,将幻方看成一个球形,从1开始绕球一周得到奇数阶幻方。

87以1居第一行中,将幻方看成一个球形,从1开始绕球一周得到奇数阶幻方。

画出四阶对角线,从左往右从上往填入数字,空开对角线不覆盖的空格,再从右往左,从下往上按顺序将空白处填满。

5055055055055055055055055055055055055055055055055055055055055056716716716716716716716716716716716716716716716716716716716716716716716711011以1居第一行中,将幻成一个球形,从1开始绕球一周得到奇数阶幻方。

以五阶幻方为出发点,将成一个大格,以1、2、3、4替代1, 56、7、8替代2。

依次类推,在做适当整。

870870870870870870870 87087087087087087087087087087087087087087012 画出四阶对角线填入数字,空开对角线不覆盖左,从下往上按顺序将空白处其他幻方按上述幻方依次类推(奇数、偶数4的倍数,偶数除4于2)大格,替代2。

幻方及编程

幻方及编程

奇数阶幻方的方法:首先把1放在最上一行的正中间的方格,然后把下一个整数放置在右上方,如果到达最上一行,下一个整数放在最后一行,就好像它在第一行的上面,如果到达最有端,则下一个整数放在最左端,就好像好像他的最右端一样。

当到达方格中填上数时,下一个整数就放在刚填1到9走一下,就可以明白它的构造方法。

偶阶幻方分为单偶阶和双偶阶:1双偶阶幻方(对称交换)n为偶数,且能被4整除(n=4,8,12….)先说明一个定义,互补:如果两个数字和,等于幻方的最大数和最和最小数的和,即n*n+1,称互补。

先看看四阶幻这里,n*n+1=4*4+1=17;把1换成17-1=16;把6换成17-6=11;把11换成17-11=6……..换成后就是四阶幻方。

对于n=4m阶的幻方,我们先把把数字按顺序填写。

写好后,按4*4把它划分成m*m各方阵。

因为n是4的倍数,一定能用4*4的方阵分割。

然后把每个小方阵的对角线,像制作成四阶幻方地方法一样,对角线上的数字换成互补数字,就构成幻方。

Array2单偶阶幻方(不能被四整除的是单偶阶幻方)如6阶、10阶、14阶…将n阶单偶阶幻方表示为4m+2,将其等分成四分,成为如下图所示A、B、C、D四个2m+1的奇阶幻方。

A CD BA用1到(2m+1)^2填写成2m+1阶幻方,B用(2m+1)^2+1到2*(2m+1)^2填写成2m+1 阶幻方,C用2*(2m+1)^2+1到3*(2m+1)^2填写成2m+1阶幻方,D用3*(2m+1)^2 到4*(2m+1)^2填写成2m+1阶幻方。

【注:^是平方的意思】六阶幻方如下:在A每行取m个小格(中心格及一侧对角线格为必换格,其余m-1格只要不是对角线格即可)也就是说在A中间一行取包裹中心格在内的第m个小格,其它行左侧边缘取m个小格,将其与D中对应得方格交换;B与C任取m-1列进行交换6阶幻方就是4*1+2,那么m就是1在A中间一行取中心格1个小格,将其与D中相应方格进行交换,B与C接近右侧m-1列进行交换(6阶幻方m-1=0故不用交换)。

幻方的三条规律

幻方的三条规律

幻方的三条规律
幻方的规律和方法参考如即可:奇数、填充法,中心数字规定、对称法,规定幻方的数字范围、转换法,数字出现限定、组合法,每列对角线平等、算法法。

一、幻方的规律和方法
1、奇数:幻方的阶数必须是奇数,如3、5、7、9等。

2、填充法:填充法是最简单的幻方构建方法,从中心数字开始,按照顺序填充数字,按照规律构建幻方。

二、幻方的规律和方法
1、中心数字规定:幻方的中心数字必须是阶数的一半加一,如3阶幻方的中心数字为2,5阶幻方的中心数字为3。

2、对称法:对称法是一种快速构建幻方的方法,先构建一个对称幻方,再进行变换得到目标幻方。

三、幻方的规律和方法
1、规定幻方的数字范围:幻方的数字范围必须从1开始,连续到阶数的平方,如3阶幻方的数字范围为1~9,5阶幻方的数字范围为1~25。

2、转换法:转换法是一种基于对称性的幻方构建方法,通过对幻方进行旋转、翻转等变换,得到目标幻方。

四、幻方的规律和方法
1、数字出现限定:幻方的每个数字只能出现一次。

2、组合法:组合法是一种将多个幻方组合在一起构建新幻方的方法,可以得到更复杂的幻方。

五、幻方的规律和方法
1、每列对角线平等:幻方的每行、每列和对角线上的数字之和必须相等。

2、算法法:算法法是一种通过数学公式构建幻方的方法,需要较高的数学水平和计算能力,但可以得到更多样化的幻方。

幻方填入规律

幻方填入规律

幻方填入规律幻方,亦称纵横图。

台湾称为魔术方阵。

将自然数1,2,3,……n*n排列成一个n*n方阵,使得每行、每列以及两对角线上的各个数之和都相等,等于n/2 * (n*n+1),这样的方阵称为幻方。

例如:把1,2,3,4,5,6,7,8,9填入3*3的格子,使得:每行、每列、两条对角线的和是15。

n是它的阶数,比如上面的幻方是3阶。

n*(n*n+1)/2为幻方的变幻常数。

数学上已经证明,对于n>2,n阶幻方都存在。

目前填写幻方的方法,是把幻方分成了三类,每类又有各种各样的填写方法。

这里对于这三类幻方,仅举出一种方便手工填写的方法。

奇数阶幻方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)。

这种写法总是先向“右上”的方向,象是在爬楼梯,亦称“楼梯法”。

2、双偶阶幻方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……换完后就是一个四阶幻方。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

精心整理
奇数阶幻方的编排方法
简便易学的编排方法。

一、九子排列法
宋朝数学家杨辉在《续古摘奇算法》中,总结“洛书”幻方的编排方法时说:三阶幻方的编排方法是“九子排列,上下对易,左右相更,四维挺出”。

这四个句子是什么意思呢?我们通过下面的一组图来加以理解。

先画出一个3×3的“九宫格”,并在第二列上、下方和第二行左、右边各添加一个虚线格子,把1~9这九个数字按顺序写在如上图所示的三排斜线上,然后上、下对调,左右交换,(因为我
1
2
3
图1)
4
然后把5
5
1
下面以五阶幻方为例,再介绍一种奇数阶幻方的编排方法。

步骤如下:
①先画出一个5×5(五行五列)的方格,在方格的四周画出凸阶梯式的虚线方格(如下图1)
②把1~25这二十五个数按斜行方向从左到右依次填入图中(如上图2);
③以3、15、23、11四个数为顶点(实际上就是五阶幻方的四个顶点)画出一个正方形;
④把正方形外面凸出的虚线方格中的数按“上移下,下移上;左移右,右移左”的方法,全部平移5格到对应部分的方格中,擦掉虚线格子,就得到一个五阶幻方(见下图)。

这种编排幻方的方法叫“巴舍法”,也叫平移补空法,它和“罗伯法”一样,也适用于一切的奇数阶幻方的编排。

需要提醒大家注意的是,在步骤②中,填写1~25这二十五个数时,可以从左向右上填写,也可以从右向左上填写,或者从上向右下填写,还可以从上向左下填写,其移动后的结果都是一个五阶幻方,同学们可以自己动手试一试。

另外,编排n 阶幻方时,不一定非要从1开始,只要是这些数能构成等差数列就可以了。

练习(一定要完成的哦)
1、使用“罗伯法”将4~12编排一个三阶幻方。

2、用“罗伯法”将21、31、32、41、4
3、61、121、125、12
7编成一个三阶幻方。

3、使用“巴舍法”将1~49编排一个七阶幻方。

双偶数阶幻方的编排方法
一、中心对称交换法
例1、用1~16这十六个数编排一个四阶幻方(四行四列)。

【分析与解答】用1至16编排一个四阶幻方,就是把1~16这十六个数填入四行四列的方格
34。

是3412+16=40(即2与3,+14+16=58(即8与12例如2又如,9称交换就可以直接得到四阶幻方,把这种编排双偶数阶幻方的办法叫“中心对称交换法”。

由例1可以看到,用“中心对称交换法”编排四阶幻方的主要步骤归纳如下:
①把1~16按顺序排成四阶自然方阵;
②四阶自然方阵中对角线上的八个数不动,作为四阶幻方两条对角线上的数;
③把四阶自然方阵中对角线以外的数作中心对称交换。

运用“中心对称交换法”不仅可以编排四阶幻方,而且可以编排任意的双偶数阶幻方。

例2、用1~64这六十四个数编排一个八阶幻方(八行八列)。

【分析与解答】编排步骤如下:
①把1至64按顺序填入8×8的方格子中,排成八阶自然方阵;(见左下图)
②把八阶自然方阵分成四个四阶自然方阵(左下图粗线条),每个四阶自然方阵分别画出对角
线(图中有颜色的数字);
③每个四阶自然方阵中对角线的数字都不动,把对角线以外的数字在八阶自然方阵中进行中心对称交换。

这样就得到一个八阶幻方(见右下图)。

二、环形平移补空法
例3、用“环形平移补空法”编排一个八阶幻方。

【分析与解答】编排步骤如下:
①画一个8×8的八阶幻方空格(下图A的中间实线部分),并在左右两端画出凸阶梯状虚线方格(如图A所示,每向外一层上、下各减少一格)。

②把1至64这六十四个数分成四组,即第一组:1~16,第二组:17~32,第三组:33~48,第四组:49~64。

③把第一组的十六个数从八阶幻方的第一行第八列开始,按顺时针方向依次排成环形(红色);
;第四
B)
1至(4k组,…。

相关文档
最新文档