


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、任意阶魔方阵算法2009-03-19 11:45:00|分类:我的文章|字号中小 订阅C 写了出来。供大家分亨。1、奇数阶幻方n 为奇数 (n=3,5,7,9,11) (n=2*k+1,k=1,2,3,4,5)奇数阶幻方最经典的填法是罗伯特法(也有人称之为楼梯方)。填写方法是这样:把1(或最小的数)放在第一行正中; 按以下规律排列剩下的n*n-1个数:、每一个数放在前一个数的右上一格;、如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列;(4)、如果这个数所要放的格已经超出了顶行且超出了最右列,那么就把它放在前一个数的 下一行同一列的格内;(5)、如果这个数所要放的格已经有
2、数填入,处理方法同(4)。这种写法总是先向“右上”的方向,象是在爬楼梯。2、双偶阶幻方n 为偶数,且能被4整除 (n=4,8,12,16,20) (n=4k,k=1,2,3,4,5)先说明一个定义:互补:如果两个数字的和,等于幻方最大数和最小数的和,即 n*n+1,称为互补。先看看4阶幻方的填法:将数字从左到右、从上到下按顺序填写:1 2 3 45 6 7 89 10 11 1213 14 15 16这个方阵的对角线,已经用蓝色标出。将对角线上的数字,换成与它互补的数字。这里,n*n+1 = 4*4+1 = 17;把117-1 = 617-6 = 17-11 = 换完后就是一个四阶幻方。16
3、2 3 135 11 10 89 7 6 124 14 15 1n=4k 4*4k*k 个方阵。因为 n 是44*48阶幻方的作法:4*42*2个小方阵1 2 3 4 5 6 7 89 10 11 12 13 14 15 1617 18 19 20 21 22 23 2425 26 27 28 29 30 31 3233 34 35 36 37 38 39 4041 42 43 44 45 46 47 4849 50 51 52 53 54 55 5657 58 59 60 61 62 63 64每个小方阵对角线上的数字,换成和它互补的数。64 2 3 61 60 6 7 579 55 54
4、12 13 51 50 1617 47 46 20 21 43 42 2440 26 27 37 36 30 31 3332 34 35 29 28 38 39 2541 23 22 44 45 19 18 4849 15 14 52 53 11 10 568 58 59 5 4 62 63 13、单偶阶幻方n 4这是三种里面最复杂的幻方。以 n=10为例。这时,k=2把方阵分为四个象限,这样每一个象限肯定是奇数阶。用楼梯法,依次在A 象限,D 象限,B 象限,C 象限按奇数阶幻方的填法填数。ABCD17 24 1 8 15 67 74 51 58 6523 5 7 14 16 73 55 5
5、7 64 664 6 13 20 22 54 56 63 70 7210 12 19 21 3 60 62 69 71 5311 18 25 2 9 61 68 75 52 5992 99 76 83 90 42 49 26 33 4098 80 82 89 91 48 30 32 39 4179 81 88 95 97 29 31 38 45 4785 87 94 96 78 35 37 44 46 2886 93 100 77 84 36 43 50 27 34A k A 出最左边的k 格。17 24 1 8 15 67 74 51 58 6523 5 7 14 16 73 55 57 6
6、4 664 6 13 20 22 54 56 63 70 7210 12 19 21 3 60 62 69 71 5311 18 25 2 9 61 68 75 52 5992 99 76 83 90 42 49 26 33 4098 80 82 89 91 48 30 32 39 4179 81 88 95 97 29 31 38 45 4785 87 94 96 78 35 37 44 46 2886 93 100 77 84 36 43 50 27 34将这些格,和C象限相对位置上的数,互换位置。92 99 1 8 15 67 74 51 58 6598 80 7 14 16 73 55
7、 57 64 664 6 88 95 22 54 56 63 70 7285 87 19 21 3 60 62 69 71 5386 93 25 2 9 61 68 75 52 5917 24 76 83 90 42 49 26 33 4023 5 82 89 91 48 30 32 39 4179 81 13 20 97 29 31 38 45 4710 12 94 96 78 35 37 44 46 2811 18 100 77 84 36 43 50 27 34在 B 象限任一行的中间格,自右向左,标出k-1列。(阶幻方由于k-1=0再作BD )92 99 1 8 15 67 74 51
8、 58 6598 80 7 14 16 73 55 57 64 664 6 88 95 22 54 56 63 70 7285 87 19 21 3 60 62 69 71 5386 93 25 2 9 61 68 75 52 5917 24 76 83 90 42 49 26 33 4023 5 82 89 91 48 30 32 39 4179 81 13 20 97 29 31 38 45 4710 12 94 96 78 35 37 44 46 2811 18 100 77 84 36 43 50 27 34B 象限标出的这些数,和D象限相对位置上的数进行交换,即可完成。92 99 1
9、 8 15 67 74 26 58 6598 80 7 14 16 73 55 32 64 664 6 88 95 22 54 56 38 70 7285 87 19 21 3 60 62 44 71 5386 93 25 2 9 61 68 50 52 5917 24 76 83 90 42 49 51 33 4023 5 82 89 91 48 30 57 39 4179 81 13 20 97 29 31 63 45 4710 12 94 96 78 35 37 69 46 2811 18 100 77 84 36 43 75 27 34程序:#include stdio.h #incl
10、ude iostream.h/奇数阶魔方阵算法void pmagic(int *magic,int N,int start)int i,j,k; for(i=0;iN*N;i+) magic=0;for(i=start;istart+N*N;i+)if(i=start) j=0;k=N/2;elsej=j-1; k=k+1;if(jN-1)j=1;k=N-1;if(jN-1)k=0;while(magicj*N+k!=0)j=j+2;k=k-1;magicj*N+k=i;/打印方阵void printT(int *magic,int N)int i,j; for(i=0;iN;i+)for(j
11、=0;jN;j+)coutmagici*N+jt;coutendl;/元素交换函数void swapT(int *a1,int *a2,int q)int temp; temp=a1; a1=a2; a2=temp;/主程序void int N;int i,j,k,p,q1,q2; int *magic;docout请输入魔方阵的阶数NN;while(N3)cout你输入的数字有误,请重新输入!N;magic=new int; if(N%2!=0)pmagic(magic,N,1); printT(magic,N);else if(N%4=0)for(i=1;i=N*N;i+)magici-1
12、=i; k=N/4;j=0;/对角线元素互补for(i=0;ik;i+)for(j=0;jk;j+)for(p=0;p4;p+)q1=4*i*N+4*j+p*(N+1); q2=4*i*N+4*j+p*N+3-p; magicq1=N*N+1-magicq1; magicq2=N*N+1-magicq2;printT(magic,N);else k=N/2;int *a1=new int; int *a2=new int; int *a3=new int; int *a4=new int;pmagic(a1,k,1); pmagic(a4,k,k*k+1); pmagic(a2,k,2*k*k+1); pmagic(a3,k,3*k*k+1); p=N/4;/1,3象限的数据互换for(i=0;ik;i+)if(i=k/2)for(j=0;jk/2;j+)swapT(a1,a3,i*k+i+j);elsefor(j=0;jk/2;j+)swapT(a1,a3,i*k+j);/2,4象限的数据互换for(i=0;ik;i+)for(j=0;jp-1;j+)swapT(a2,a4,i*k+k/2-j);/for(i=0;iN;i+)fo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业设计师在项目中的协同工作技巧试题及答案
- 2024年美术设计的趋势研究国际商业美术设计师考试试题及答案
- 2024年广告设计师设计与文化融合试题及答案
- 信息奥赛选拔试题及答案
- 劳动法解析试题及答案
- 无锡中考英语试题及答案
- 焊工工考试试题及答案
- 反恐培训考试题及答案
- 检验过程中常见错误识别试题及答案
- 2024年纺织品检验员证书考试的心态调整 试题及答案
- 名家班主任培训:AI赋能与德育创新
- 湖北省武汉市2025届高中毕业生四月调研考试物理试题及答案(武汉四调)
- 珠宝并购策略优化-全面剖析
- 平面向量及其应用 章末题型归纳总结(基础篇)(10大题型)原卷版-2024-2025学年高一数学(人教A版必修第二册)
- 人教PEP版英语五年级下册 Unit 4 单元练习卷
- 运动营养学知到课后答案智慧树章节测试答案2025年春黑龙江冰雪体育职业学院
- AI时代职业院校财会类专业课程教学改革探讨
- 金氏五行升降中医方集
- 煤矿防洪专项应急预案
- 中华民族节日文化知到课后答案智慧树章节测试答案2025年春云南大学
- 回收设施布局与优化-深度研究
评论
0/150
提交评论