求(2n+1)平方的魔方阵生成算法

[复制链接]
查看11 | 回复0 | 2007-11-25 21:36:23 | 显示全部楼层 |阅读模式
#include#define N 3int fun(int(*a)[N]){ inti,j,m1,m2,row,colum;m1=m2=0;for(i=0; i<N; i++){ j=N-i-1;m1+=a;m2+=a[j];}if(m1!=m2) return0;for(i=0; i<N; i++) {
row=colum=0;
for(j=0; j<N; j++)
{row+=a[j];colum+=a[j];}
if( (row!=colum) ||(row!=m1) ) return 0;}return 1;}main(){ intx[N][N],i,j;printf("Enter number for array:\n");for(i=0; i<N; i++)
for(j=0; j<N; j++)scanf("%d",&x[j]);printf("Array:\n");for(i=0; i<N; i++){for(j=0; j<N; j++)printf("%3d",x[j]);
printf("\n");}if(fun(x)) printf("The Array is a mo fang zhen!\n");else printf("The Array isn't a mo fang zhen!\n");}你上面说的2n+1无非是说它是一个由一个奇数构成的矩阵,如若此矩阵是3*3,则下面就是一个魔方阵!4
9
23
5
78
1
6以上程序通过"tc2.0及vc++6.0测试通过"!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行