首页 偶数阶幻方填法.doc

偶数阶幻方填法.doc

举报
开通vip

偶数阶幻方填法.doc偶数阶幻方填法 以4阶为例,说说偶数阶的填法: 首先,按顺序写下,,个数: , , , , , , , , , ,, ,, ,, ,, ,, ,, ,, 接下来固定对角线上数字不动(这里是,、,、,,、,,和,、,、,,、,,),其它数字作左右对换,如,与,换,,与,换等,得到下面的排列: , , , , , , , , ,, ,, ,, , ,, ,, ,, ,, 继续固定对角线,其他数字作上下对称变换,如,与,,换,,与,,换等,得到如下排列: , ,, ,, , ,, , , , ...

偶数阶幻方填法.doc
偶数阶幻方填法 以4阶为例,说说偶数阶的填法: 首先,按顺序写下,,个数: , , , , , , , , , ,, ,, ,, ,, ,, ,, ,, 接下来固定对角线上数字不动(这里是,、,、,,、,,和,、,、,,、,,),其它数字作左右对换,如,与,换,,与,换等,得到下面的排列: , , , , , , , , ,, ,, ,, , ,, ,, ,, ,, 继续固定对角线,其他数字作上下对称变换,如,与,,换,,与,,换等,得到如下排列: , ,, ,, , ,, , , , , ,, ,, , ,, , , ,, 这就是四阶幻方,每行每列四个数字之和均为,,,其他偶 数阶幻方填法可类推~ 奇数阶幻方——口诀 1坐边中间,斜着把数填; 出边填对面,遇数往下旋; 出角仅一次,转回下格间。 一、奇数阶纪方的构造 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 (楼梯法)。 把1(或最小的数)放在第一行正中; 按以下规律排列剩下的n*n-1个数: 1)每一个数放在前一个数的右上一格; 2)如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列; 3)如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上一行; 4)如果这个数所要放的格已经超出了顶行且超出了最右 列那么就把它放在前一个数的下一行同一列的格内; 5)如果这个数所要放的格已经有数填入,处理方法同4)。 图示: * 1 * * 1 * * * * * * * * * * * * 2 * 1 * * 1 * 3 * * 3 * * * * 2 4 * 2 * 1 * * 1 6 3 5 * 3 5 * 4 * 2 4 * 2 * 1 6 8 1 6 3 5 7 3 5 7 4 * 2 4 * 2 8 1 6 3 5 7 4 9 2 奇数阶幻方的一种用公式表达的构造方法: 设x是要填入的数,(xx,yy)是坐标。坐标如何确定呢, k= (x-1) div n +(n+3) div 2 + (x-1) yy=k- (k-1) div n *n p= (n+1) div 2 + (x-1)- (x-1) div n xx=n+1-p+(p-1) div n * n 二、双偶阶(4k)阶幻方的构造方法。 就是说,阶数可以被4整除。 看看4阶幻方的制作方法: 先把数字,按顺序写(从左到右,从上到下): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 然后把对角线,换成互补的数字。 定义: 互补:如果两个数字的和,等于幻方最大数和最小数的和,即 n*n+1,称为互补。 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 人们从4阶幻方的制作方法,找到了构造双偶阶幻方的方法: 对于n=4k阶幻方,我们先把数字按顺序填写。写好后,按4*4把它划分成k*k个方阵。把每个小方阵的对角线,象制作4阶幻方的方法一样,换成互补的数字,就构成幻方。 事实上,有些小方阵的对角线是连着的。但是因为没有办法画图,我只能这样子描述。 双偶阶幻方另一种用PASCAL程序语句表达的构造的方法如下: for i:=1 to n do for j:=1 to n do begin if j mod 4>1 then m:=1 else m:=0; k:=n-i-(n-2*i+1)*m; if i mod 4>1 then m:=1 else m:=0; L:=n-j+1-(n-2*j+1)*m; a[i, j]:=k*N+L; end; 三、单偶阶(4k+2)幻方的构造 阶数是偶数,但是,又不能被4整除。这是最难的一种幻方。 一种构造n=4k+2幻方的方法: (1) 先排出4k的双偶阶幻方 (2) 根据幻方的性质,每个数都同时加上 8k+2 (3) 把它扩展成为4k+2的方阵。这样,四周包围着一圈。我们只要把 1,2,3……,8k+2, (4k+2)^2, (4k+2)^2-1, ……,(4k)^2+1+8k+2 这些数字,填入最外一圈,使得:对角线两端,每行、每列两端数字互补。 当然,最后圈的两横,两列各数之和要等于变幻常数。 以制作6阶幻方为例: 先制作出4阶幻方。 方阵的每个数字,加上8k+2=10 再把它扩大成6阶,如下图: * * * * * * * 26 12 13 23 * * 15 21 20 18 * * 19 17 16 22 * * 14 24 25 11 * * * * * * * 我们只要把 1,2,3,……,9,10, 36,35,34,……27 填入外圈。 不过,当n较大时,外圈的填法也不太容易。有一种公式来 填外圈。坐标(j,i) 为j行i列的。先固定填下这10个数: a[1,1]=1 a[n,1]=4 a[n-1,1]=10 a[2,n]=3 a[3,n]=5 a[4, n]=7 a[n,n-2]=2 a[n,n-1]=9 a[1,2]=6 a[1,3]=8 当n=4k+2时, a[j,i]= 11,12,…,k+9 (j=1, i=4..k+2) k+10,k+11,…,2k+8 (j=5..k+3, i=n ) 2k+9,2k+10,…,3k+7 (j=n ,i=2k+2..3k) 3k+8,3k+9,…,5k+5 (j=2k+3..4k, i=1) 5k+6,5k+7,…,6k+4 (j=n, i=3k+1..4k-1) 6k+5,6k+6,…,7k+3 (j=k+4…2k+2, i=n) 7k+4,7k+5,…,8k+2 (j=1, i=k+3..2k+1) 按公式算出来后,实际上外圈已经填好了一半了。剩下来的 工作,只要把剩下的相对应元素,填下去。(同行两端的数相 对应、同列两端的数相对应、两条对角线两端的数相对应, 每对之和为n*n+1)。 介绍另外一种构造单偶阶幻方的方法: <1> 基本图(是个6阶方阵) 4 2 4 2 1 2 1 3 1 3 4 3 4 2 1 2 4 2 1 3 4 3 1 3 4 2 4 2 1 2 1 3 1 3 4 3 这个方阵要把它按2*2把大方阵分割成3*3个格,每个格子里4个数都是1,2,3,4,只是方向上不同。 <2> 如果要作的幻方不是6阶,是更大的阶数: 每次同时在最上面、最下面加入下面方阵: 4 2 4 2 1 2 1 3 1 3 4 3 每加一次,多出4行来,直至想要的阶数。这样加后是个长方形方阵,左边、右边怎么办, 左边都用 4 3 1 2 同时,右边都用 1 2 4 3 填充,每次多出4列来,直至想要的阶数。 下面是加成10*10方阵的例子: 4 3 4 2 4 2 1 2 1 2 1 2 1 3 1 3 4 3 4 3 4 3 4 2 4 2 1 2 1 2 1 2 1 3 1 3 4 3 4 3 4 3 4 2 1 2 4 2 1 2 1 2 1 3 4 3 1 3 4 3 4 3 4 2 4 2 1 2 1 2 1 2 1 3 1 3 4 3 4 3 4 3 4 2 4 2 1 2 1 2 1 2 1 3 1 3 4 3 4 3 如果把每2*2的小格子四个数,看成一个格子,这是一个2k+1奇数阶方阵。 画个(2k+1)*(2k+1)的格子吧,格子画大一点,我们要按奇数阶幻方的填法,填写这些格子,只不过每次要填写的是四个 数。方向跟着制作出来的参考图方向一样。 例:我们要做一个6阶的幻方。参考图当然是用<1> 基本图, 不需要迭加了。然后,列成3*3个大格子,大格子的顺序我 们按奇数幻方的顺序填写,小格子里的顺序按1,2,3,4这四个 数字的方向填写,按顺序每次填入4个数: * * 4 2 * * * * 4 2 * * * * 1 3 * * * * 1 3 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5 6 * * * * * * * * * * 8 7 ============================================= * * 4 2 * * * * 4 2 * * * * 1 3 * * * * 1 3 * * 12 10 * * * * 12 10 * * * * 9 11 * * * * 9 11 * * * * * * * * 5 6 16 14 * * 5 6 * * * * 8 7 13 15 * * 8 7 ============================================= ………… 继续直至填完。 三、练习 1、用1、4、7、10、13、16、19、22、25填出三阶幻方。 2、用95、85、75、65、55、45、35、25、15填出三阶幻方。 3、用1—81八十一个自然数填出一个九阶幻方。 4、用1/2、1/3、2/3、1/4、3/4、1/6、1/12、5/12、7/12九个 分数摆一个三阶幻方。 奇数阶幻方程序 /** * n阶幻方程序 * 完成者:meteor135 * 完成日期:2003.9.8 * 编译环境:VC6.0 */ #include #include #include void showFangzhen(int n); int main() { //输出10组幻方 for(int n = 0; n < 10; n ++) showFangzhen(2*n+1); cout<<"Press enter to quit!"; cin.get(); return 0; } void showFangzhen(int n) { if(!(n%2)) return; int i,j,**array; //为指针分配动态内存 array=new int*[n]; for(i=0; i #include #include #define N 3 #define M 226 void main() {textmode(C40); clrscr(); int x,y,p,q,n,num=1; int a[M][M]; int flag=0; int k,s; for(k=0;k<=M-1;k++) for(s=0;s<=M-1;s++) a[k][s]=0; printf("n=?"); while(flag==0) { scanf("%d",&n); if(n>=1&&n<=M-1&&n%2!=0) flag=1; // printf("input error!"); } if(n>7) // textmode(C80); clrscr(); gotoxy((n/2+1)*N,N); printf("%d",num); x=n/2+1; y=1; a[x][y]=num; num++; while(num<=n*n) { if(p=x,x-1<1) x=n; else x--; if(q=y,y-1<1) y=n; else y--; if(a[x][y]==0) a[x][y]=num; else { a[p][q+1]=num; x=p; y=q+1; } gotoxy(x*N,y*N); printf("%d",num); num++; delay(300); } char ch; ch=getchar(); ch=getchar(); } 任一阶幻方 #include #include void swap(int *a,int *b) { int t; t=*a; *a=*b; *b=t; } void hf1(int n,int *p) { int m=1,i,j,k,l; for(i=0;in*n) break; k=i-1; l=j+1; if(k==-1) k=n-1; if(l==n) l=0; if(*(p+k*n+l)!=0){ i++; continue; } i=k; j=l; } } void hf2(int n,int *p) { int i,j,*q; q=malloc(n*n/2); hf1(n/2,q); for(i=0;i=n-(n-4)/4;j--) swap(p+i*n+j,p+(i+n/2)*n+j); } swap(p+(n/2-1)/2*n,p+(3*n/2-1)/2*n); swap(p+(n/2-1)/2*n+(n/2-1)/2,p+(3*n/2-1)/2*n+(n/2-1)/2); } void hf3(int n,int *p) { int i,j,k,m=1; for(i=0;i=n/2;i++,j--){ if(i==n) i=0; swap(p+i*n+j,p+(n-1-i)*n+n-1-j); } } } void main() { int i,j,n,*p; printf("Enter n:"); scanf("%d",&n); p=malloc(2*n*n); if(n%2!=0) hf1(n,p); else if(n%4!=0) hf2(n,p); else hf3(n,p); for(i=0;i
本文档为【偶数阶幻方填法&#46;doc】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_882336
暂无简介~
格式:doc
大小:268KB
软件:Word
页数:0
分类:企业经营
上传时间:2017-09-05
浏览量:33