欢迎来到天天文库
浏览记录
ID:1471358
大小:2.03 MB
页数:17页
时间:2017-11-11
《魔方阵算法的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、二维数组的应用魔方阵算法的设计与实现刘立云2014年5月24日Outline魔方阵的提出1算法的流程图3魔方阵的编程实现4魔方阵算法的设计21234分析问题确定算法调试并整理文档Review魔方阵Induce魔方阵,古代又称“纵横图”,是指N×N方阵的组成元素为自然数1、2…N的平方,其中每个元素值都不相等,要求满足以下条件:每行N个元素之和每列N个元素之和主对角线上N个元素之和副对角线上N个元素之和相等请将1~25共25个数字填入5*5的矩阵中,使每行每列以及对角线上的累加和都相等。Game461320225714162
2、41815101219213231711182529Realize魔方阵算法AlgorithmStepofalgorithmdesign1234二维数组存储魔方阵二维数组中所有元素初始化为0依次将2到25存放进数组魔方阵算法的流程图Flowchart编程实现Programing#include#defineN5main(){inta[N][N],i,j,k;for(i=0;i3、位置*/a[i][j]=1;/*以下依次将2~25填充进二维数组,建立魔方阵*/for(k=2;k<=N*N;k++){m=i;/*记录上一个数的行下标*/n=j;/*记录上一个数的列下标*/i=i-1;j=j+1;if(i<0)i=N-1;/*上一个数在0行,则下一个数在第N-1行*/if(j>N-1)j=0;/*上一个数在N-1列,则下一个数在第0列*/if(a[i][j]!=0){i=m+1;j=n;}/*若找到新的位置已经被占用新数应放在上一个数的下方*/a[i][j]=k;/*将新数k填进数组*/}for(i=04、;i5、计冲突处理输出所有元素为0SummaryHope读书破万卷,下笔如有神。编程也如此!欢迎各位提出宝贵意见!
3、位置*/a[i][j]=1;/*以下依次将2~25填充进二维数组,建立魔方阵*/for(k=2;k<=N*N;k++){m=i;/*记录上一个数的行下标*/n=j;/*记录上一个数的列下标*/i=i-1;j=j+1;if(i<0)i=N-1;/*上一个数在0行,则下一个数在第N-1行*/if(j>N-1)j=0;/*上一个数在N-1列,则下一个数在第0列*/if(a[i][j]!=0){i=m+1;j=n;}/*若找到新的位置已经被占用新数应放在上一个数的下方*/a[i][j]=k;/*将新数k填进数组*/}for(i=0
4、;i5、计冲突处理输出所有元素为0SummaryHope读书破万卷,下笔如有神。编程也如此!欢迎各位提出宝贵意见!
5、计冲突处理输出所有元素为0SummaryHope读书破万卷,下笔如有神。编程也如此!欢迎各位提出宝贵意见!
此文档下载收益归作者所有