魔方阵算法分析

魔方阵算法分析

ID:46175217

大小:78.00 KB

页数:5页

时间:2019-11-21

魔方阵算法分析_第1页
魔方阵算法分析_第2页
魔方阵算法分析_第3页
魔方阵算法分析_第4页
魔方阵算法分析_第5页
资源描述:

《魔方阵算法分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、魔方阵算法2008-11-2217:12幻方问题分为奇幻方和偶幻方。奇幻方和偶幻方方阵的布阵规律不同,而偶幻方又分为是4的倍数(如4,8,12,16,20等)和不是4的倍数(如6,10,14,18等)两种。现在就幻方的三种情形的布阵规律分别加以介绍。A方案1、奇幻方N=2*M+1(M=l,2,3,……)的布阵规律a、把1放在N*N方阵中的笫一•行中间一列,即放在位置为(1,(N+l)/2);b、后一个数存放的行数比前一个数存放的行数减1,若这个行数为0,则取行数为N;c、示一个数存放的列数比前一个数存放的

2、列数加1,若这个列数为N+1,则取列数为1;(1、如果前一个数是N的借数,则后一个数存放的列数不变,而行数加1。B方案⑴将1放在第一行中间一列;⑵从2开始直到nxn止各数依次按下列规则存放;每一个数存放的行比前一个数的行数减1,列数加1(例如上面的三阶魔方阵,5在4的上一行后一列);⑶如果上一个数的行数为1,则下一个数的行数为n(指最下一行);例如1在第一行,贝屹应放在最下一•行,列数同样加1;⑷当上一个数的列数为n吋,下一个数的列数应为1,行数减去1。例如2在第3行最后一列,则3应放在第二行笫一列;⑸如

3、果按上面规则确定的位置上已有数,或上一个数是笫一行笫n列时,则把下一个数放在上一个数的卞面。例如按上血的规定,4应该放在第1行笫2列,但该位置已经被占据,所以4就放在3的下面;2、①偶幻方N=4*(M=l,2,3,……)的布阵规律先将1至N*N由小到人的顺序,从第一行开是依序填入N*N的方阵中,然后将N*N的方阵以4行4列划分为若十个4M的小方阵,再将所冇4*4小方阵的两个对角线上的数字划掉,Z后将所有被划掉的数字重新由大到小的进行排列,然后再将这些数字按排列顺序由N*N方阵的第一行开始,放入被划掉的格子

4、中去。则此时的偶幻方也就布好阵。2、②偶幻方N二4*(M=l,2,3,)的布阵规律本法先將數字順序填入方陣Z後,再施以兩階段的翻轉,一次縱向、一次横向,故名雙向翻轉法。本法僅能填製4k階的魔方陣,其填製方法共分三步驟:第一步:將數字由左而右、由上而下順序填入方陣。第二步:將中央部分半數的列,所冇败字左右翻轉。第三步:將中央部分半數的行,所冇數字上下翻轉。3、偶幻方N=2*(2*M+1)(M=l,2,3,)的布阵规律先将N*N的方阵划分为2*2的四个小方阵,设为A,B,C,D,则这四部分都正好是奇行奇列的方

5、阵,设每个小方阵为UP,其中U=N/2o然后将1至U*U按奇幻方的的方式填入小方阵A中,同理填入U*U+1至U*U*2到B中,填入U*U*2+1至U*U*3到C中,填入U*U*3+1至U*U*4到D中。然后按下列方法交换:a、将A和D的第一列对应位置的元素(出各自的中I'可一行外)进行交换:b、将A和D的中间一列的中间一行的元素进行交换;c、如果(U+1)/2>2,则将A和D中左边的第二列开始到第(U-1)/2列为止,对应行的数字全部进行交换,同时将B和C右边第一列起连续(U-1)/2-1列对英航的数字也

6、全部进行交换。下而是两种方法的代码:A#includevoidmain(){inta[16][16];inti,j,k,p,m,n;严初始化*/P=l;while(p==l){printf("请输入n.(0

7、j=n/2+l;a[l][j]=l;fbr(k=2;k<=n*n;k++){i=i-l;j二j+1;if((in)){i=i+2;)else{if(in)j二1;)if(a[i]U]==O)a[i]

8、j]=k;else{i二i+2;j=H;a[i]

9、j]=k;}}/*输出*/for(i=l;i<=n;i++){for(j=l;j<=n;j++)piintf(“%5cT,a[i][j]);printf(,,H);B/*全局定义方阵行、列、阶数以及最大方阵容量勺/*

10、建立魔方阵*/#includeinti,j,n,a[16][16];voidcreat(){intk;j=n/2+1;a[l][j]=l;fbr(k=2;k<=n*n;k++)j=j+l;if((in))i二i+2;elseif(in)j=l;if(a[i]

11、j]==O)a[i]U]=k;elsei=i+2;j=H;a[i][j]=k;voidprint()/*输出魔方

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。