(0幻方构造方法 2.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(0幻方构造方法 2

幻方构造方法:(有很多种,这里只举出几种) 奇数阶: 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 C D 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 `4 22 `3 `9 15 16 14 20 21 `2 `8 1` 7` 13 19 25 9 `3 22 16 15 21 20 14 `8 `2 13 `7 `1 25 19 5 `24 18 12 `6 17 11 10 `4 23 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 下面这些构造方法都是比较适合于编程的。构造幻方分奇数阶幻方、4n型偶数幻方、4n+2型的偶数幻方(以下简称双偶数、单偶数)。 构造奇数阶较简单,常用的是连续摆数法。下面的n均指阶数,在这里(y,x)表示第y横行的第x个数。 (1)在第一行的正中间(即[1,(n+1)/2])放上1 (2)若数a的位置在(y,x),则a+1的位置在: (y-1,x+1),若有这个位子且里面没数 (n,x+1),若y=1且xn (y-1,1),若x=n且y1 (y+1,x),若x=n且y=1或(y,x)已经有数。(y,x)已经有数的充要条件是a=n(mod n) (3)所构成的(n×n)方即为一个幻方。 我们还可以把连续摆数法推广,先定义几个概念: 普通向量:正常走步的情况。(即上面第一种情况)正常走步记作(b,a)。中断向量:即走到(1,n)这个格子或(y,x)已经有数的情况。记作(d,c) 下面是几个推广的情况:(1,-1)(0,1);(1,-1)(0,2);(2,1)(1,-2);(2,1)(1,-1);(2,1)(1,0);(2,1)(1,2) 下面是构造双偶数阶幻方: 对称法:把双偶数型的幻方分成四个正方形,在左上角正方形中每行每列各取一半打上○(实际上就是使无论从每行还是每列来看都刚好有一半有○,一半无○。)然后向剩下的三个小方块中映象(镜像对称),于是整个方阵都布好了○。(用电脑实行则可以选择在该布○的地方填上-1)。 接下来该填数了。适用于电脑的方法:向所有格子内填数,(推荐x,y分别从1~n的双重计数循环):若(y,x)没有○,则填入(y-1)*n+x;若(y,x)中有○,则填入(n-y+1)*n+x+1。适用于笔算的方法:从左上角依次1~n*n填数,遇上○则不填,这个数字还是要跳过去。填完后,把方阵旋转180度后再从1~n*n往○里填数,

文档评论(0)

1983xuesheng + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档