ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:17.85KB ,
资源ID:17218628      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17218628.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(幻方及编程Word格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

幻方及编程Word格式.docx

1、将对角线上的数字,换成与它互补的(同色)的数字。这里,n*n+1=4*4+1=17;把1换成17-1=16;把6换成17-6=11;把11换成17-11=6.换成后就是四阶幻方。对于n=4m阶的幻方,我们先把把数字按顺序填写。写好后,按4*4把它划分成m*m各方阵。因为n是4的倍数,一定能用4*4的方阵分割。然后把每个小方阵的对角线,像制作成四阶幻方地方法一样,对角线上的数字换成互补数字,就构成幻方。6461605755545150174746202143422440262737363031333234352928383925412322444519184849525356585962632单

2、偶阶幻方(不能被四整除的是单偶阶幻方)如6阶、10阶、14阶将n阶单偶阶幻方表示为4m+2,将其等分成四分,成为如下图所示A、B、C、D四个2m+1的奇阶幻方。A CD BA用1到(2m+1)2填写成2m+1阶幻方,B用(2m+1)2+1到2*(2m+1)2填写成2m+1阶幻方,C用2*(2m+1)2+1到3*(2m+1)2填写成2m+1阶幻方,D用3*(2m+1)2到4*(2m+1)2填写成2m+1阶幻方。【注:是平方的意思】六阶幻方如下:在A每行取m个小格(中心格及一侧对角线格为必换格,其余m-1格只要不是对角线格即可)也就是说在A中间一行取包裹中心格在内的第m个小格,其它行左侧边缘取m个

3、小格,将其与D中对应得方格交换;B与C任取m-1列进行交换6阶幻方就是4*1+2,那么m就是1在A中间一行取中心格1个小格,将其与D中相应方格进行交换,B与C接近右侧m-1列进行交换(6阶幻方m-1=0故不用交换)。如下图用Strachey法生成的6阶幻方:下面是一个关于上述幻方的编程:数不能太大】#includestdlib.h#define N 120short aNN=0;short n;void jijiehuanfang(short n);void suangoujiehuanfang(short n);void danoujiehuanfang(short n);int main(

4、) short j,i; printf(input one number that you like:); scanf(%d,&n); if(n3) the number is errorn exit(-1); if(n%2=1)/判断是否是奇阶幻方 jijiehuanfang(n); else if(n%4=0)/判断是否为双偶阶幻方 suangoujiehuanfang(n); else/判断是否为单偶阶幻方 danoujiehuanfang(n); for(j=0;jn;j+) for(i=0;ii+) printf(%3d ,aji);n return 1;void jijiehuan

5、fang(short n) short i,j,k; i=(n+1)/2-1; j=0; aji=1; for(k=2;k3|nj3)/把大区域转成小区域 if(ni ni-=4; if(nj nj-=4; if(ni=nj|ni+nj=3)/判断是否在对角线上 aji=n*n+1-k;void danoujiehuanfang(short n) void danoujiehuanfangA(short m); void danoujiehuanfangB(short m); void danoujiehuanfangC(short m); void danoujiehuanfangD(sho

6、rt m); short i,j,m,temp; m=(n-2)/4; danoujiehuanfangA(m); danoujiehuanfangB(m); danoujiehuanfangC(m); danoujiehuanfangD(m);(n+1)/2; if(j!=(2*m+1+1)/2-1) if(i=m&=m+m-1) for(i=0; if(i=3*m+1&=4*m-1)void danoujiehuanfangA(short m) short i,j,k,n;/注意单偶阶幻方A的n不是全局变量的n;方法和奇阶幻方的方法相同 n=2*m+1;=n-1)i=n-1) if(aji

7、=0) if(aji=0) void danoujiehuanfangB(short m)/单偶阶幻方B的方法和奇阶幻方的方法相同 i=3*m+1; aji=2*(2*m+1)*(2*m+1)+1; for(k=2*(2*m+1)*(2*m+1)+2;=3*(2*m+1)*(2*m+1); j=2*m; i=2*m+1; i=2*m+1; i=n-1; j+=2; void danoujiehuanfangC(short m)/单偶阶幻方C的方法和奇阶的方法相同 i=m; j=2*m+1; aji=3*(2*m+1)*(2*m+1)+1; for(k=3*(2*m+1)*(2*m+1)+2;=4*(2*m+1)*(2*m+1); if(j=2*m+1&=2*m)=2*m+1&i=2*m) j-; else if(j=2*m+1& i=0; j=2*m+2; i=2*m; i-; void danoujiehuanfangD(short m)/单偶阶幻方D的方法和奇阶幻方的方法相同 aji=(2*m+1)*(2*m+1)+1; for(k=(2*m+1)*(2*m+1)+2;=2*(2*m+1)*(2*m+1); aji=0; j=2*m+2; i=n-1;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1