蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > DOC文档下载
 

魔方阵算法及C语言实现

  • 资源ID:55612687       资源大小:76.50KB        全文页数:21页
  • 资源格式: DOC        下载权限:游客/注册会员    下载费用:15积分 【人民币15元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要15积分 【人民币15元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

魔方阵算法及C语言实现

下载后可任意编辑 魔方阵算法及C语言实现 1 魔方阵概念 魔方阵是指由1,2,3n2填充的,每一行、每一列、对角线之和均相等的方阵,阶数n 3,4,5。魔方阵也称为幻方阵。 例如三阶魔方阵为 魔方阵有什么的规律呢 魔方阵分为奇幻方和偶幻方。而偶幻方又分为是4的倍数(如4,8,12)和不是4的倍数(如6,10,14)两种。下面分别进行介绍。 2 奇魔方的算法 2.1 奇魔方的规律与算法 奇魔方(阶数n 2 * m 1,m 1,2,3)规律如下 1. 数字1位于方阵中的第一行中间一列; 2. 数字a(1 a ≤ n2)所在行数比a-1行数少1,若a-1的行数为1,则a的行数为n; 3. 数字a(1 a ≤ n2)所在列数比a-1列数大1,若a-1的列数为n,则a的列数为1; 4. 假如a-1是n的倍数,则a(1 a ≤ n2)的行数比a-1行数大1,列数与a-1相同。 2.2 奇魔方算法的C语言实现 1 include stdio.h 2 // Author http// 3 // N为魔方阶数 4 define N 11 5 6 int main 7 { 8 int a[N][N]; 9 int i;10 int col,row;11 12 col N-1/2;13 row 0;14 15 a[row][col] 1;16 17 fori 2; i N*N; i18 {19 ifi-1N 0 20 {21 row;22 }23 else24 {25 // if row 0, then row N-1, or row row - 126 row--;27 row rowNN;28 29 // if col N, then col 0, or col col 130 col ;31 col N;32 }33 a[row][col] i;34 }35 forrow 0;rowN;row36 {37 forcol 0;col N; col 38 {39 printf6d,a[row][col];40 }41 printf\n;42 }43 return 0;44 } 3 偶魔方的算法 偶魔方的情况比较特别,分为阶数n 4 * m(m 1,2,3)的情况和阶数n 4 * m 2(m 1,2,3)情况两种。 3.1 阶数n 4 * m(m 1,2,3)的魔方(双偶魔方) 算法1阶数n 4 * m(m 1,2,3)的偶魔方的规律如下 1. 按数字从小到大,即1,2,3n2顺序对魔方阵从左到右,从上到下进行填充; 2. 将魔方中间n/2列的元素上、下进行翻转; 3. 将魔方中间n/2行的元素左、右进行翻转。 C语言实现 1 include stdio.h 2 // Author http// 3 // N为魔方阶数, 4 define N 12 5 6 int main 7 { 8 int a[N][N];//存储魔方 9 int i, temp;//临时变量10 int col, row;//col 列,row 行11 12 //初始化13 i 1;14 forrow 0;row N; row15 {16 forcol 0;col N; col 17 {18 a[row][col] i;19 i;20 }21 }22 23 //翻转中间列24 forrow 0; row N/2; row 25 {26 forcol N/4;col N/4*3;col 27 {28 temp a[row][col];29 a[row][col] a[N-row-1][col];30 a[N-row-1][col] temp;31 }32 }33 34 //翻转中间行35 forcol 0; col N/2; col 36 {37 forrow N/4;row N/4 * 3;row 38 {39 temp a[row][col];40 a[row][col] a[row][N-col-1];41 a[row][N-col-1] temp;42 }43 }44 45 forrow 0;row N; row46 {47 forcol 0;col N; col 48 {49 printf5d,a[row][col];50 }51 printf\n;52 }53 return 0;54 } 算法2阶数n 4 * m(m 1,2,3)的偶魔方的规律如下 1. 按数字从小到大,即1,2,3n2顺序对魔方阵从左到右,从上到下进行填充; 2. 将魔方阵分成若干个44子方阵,将子方阵对角线上的元素取出; 3. 将取出的元素按从大到小的顺序依次填充到nn方阵的空缺处。 C语言实现 1 include stdio.h 2 // Author http// 3 // N为魔方阶数 4 define N 12 5 6 int main 7 { 8 int a[N][N];//存储魔方 9 int temparray[N*N/2];//存储取出的元素10 int i;//循环变量11 int col, ro

注意事项

本文(魔方阵算法及C语言实现)为本站会员(lisuyan210)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开