幻方的构造方法PPT教学课件
- 格式:ppt
- 大小:250.50 KB
- 文档页数:7
幻方的构造方法
幻方的构造方法有很多,如连摆法、德洛涅法、巴舍法、拉丁方阵法、西洛克斯法、杨辉法、卞和法、加尔贝格法、马凯法、常用法等。
连摆法:从幻方最上行中央起,填1,以后每一步都填右上格。
若超出上格线,则移至该列最下格;若超出最右线,则移至该行最左格;若超出顶角,或右上已填数(重叠),则回到原数的下格。
填毕所有空格,即得所求幻方。
德洛涅法:先画出由1至n^2的n×n方格阵,再将1放在第一行的中间一列,从此按以下规则构造幻方:每一个数放在它上一数的右上方,若该位置已有数,则将该数放到它下一数的左方,如此继续下去,直到填满整个方格阵为止。
构造幻方所谓幻方,也教纵横图,就是在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=2*m+1,m为自然数1)将数字1填在(0,(n+1)/2) ;要注意c中是从下标0开始2)从左上往右下依次填。
3)由2),列的下标出界(超过n-1)时,行加1,以n为摸的余数为应填的列数;4)由2),行的下标出界(超过n-1)时,列加1,以n为摸的余数为应填的行数;5)由2),行列都未出界,但已添上其他数,应在当前位置左横移一个位置进行填数。
然后是偶数阶:前一种:n=4*m+2, m为自然数1)将n阶方阵分为四个小魔方阵ABCD如下排列:B CD A因为n*n=4*(2*m+1)*(2*m+1),记u=n/2=2*m+1,分为1~u*u,u*u+1~2*u*u,2*u*u+1~3*u*u,3*u*u+1~4*u*u即在调用子函数的时候分别如下面传递参数:A(0),B(u*u),C(2*u*u),D(3*u*u)分别在ABCD中按照前面的填法把奇数阶填好(注意加上所传参数作为基数,每一个元素都要加上这个值),最后做如下交换:(1)B中第0~(m-1)-1行中元素与C中相对应元素交换(2)D中第(n-1)-m+1~(n-1)共m行的每行中的元素与A中相对应元素交换(3)交换D:(u+m,m)与A中对应元素(矩阵中心值)(4)交换D:(n-1,m)与A中对应元素(实际为矩阵最大值n*n)所谓对应位置,指相对于小魔方阵的左顶角的相对的行列位置上面的这些你可以用数学进行证明,利用魔方阵常数(注意n阶的和u阶的关系)后一种:n=4*m,m为自然数因为行列都是4的倍数,因而可以将整个矩阵分为每4*4的小矩阵。
先判断一个数是否在划为4*4小矩阵的对角线上,如果在,则填该位置的数为n*n-i+1(i为该元素的相对位置,从1开始,比如n阶的第s行第t个元素则其i=s*n+t)如果不在,则填上i。
参考资料:/archives/structure/2ae241192e129bc795deb5a721562f3d.php五阶幻方简便算法悬赏分:10 - 解决时间:2008-10-8 19:08五阶幻方简便算法提问者:狐老大- 试用期一级最佳答案五阶幻方10 11 17 23 `422 `3 `9 15 1614 20 21 `2 `81` 7` 13 19 259 `3 22 16 1521 20 14 `8 `213 `7 `1 25 195 `24 18 12 `617 11 10 `4 2317 24 `1 8 1523 `5 `7 14 16`4 `6 13 20 2210 12 19 21 `311 18 25 `2 `9下面这些构造方法都是比较适合于编程的。