魔术方阵 的算法

2022-10-11 15:46

1个回答
以N(没有偶阶魔方)阶魔方为例,首先第一行的中间数为1,下一个数

如果不是N的倍数加1,列加1,行减1(如果列大于N,则列减N,如果行小于0则行加N)
如果是N的倍数加1,则行加1(如果行大于N,则行减N)

程序如下:
#include "stdio.h"
void magicsquare(int n)
{
int i,j,k,a[16][16];
for(i=0;i<16;i++) //初始化方阵
for(j=0;j<16;j++)
a[i][j]=0;

i=0;j=(n-1)/2; //第一行中间的数为1
a[i][j]=1;

for(k=2;k<=n*n;k++)
{
if((k-1)%n==0) //是N的倍数加1
{
i++; //行加1
if(i>n-1)
i-=n;
a[i][j]=k;
}
else //不是N的倍数加1
{
i--;j++; //行减1,列加1
if(i<0)
i+=n;
if(j>n-1)j-=n;
a[i][j]=k;
}
}
for(i=0;i{
for(j=0;jprintf("%5d",a[i][j]);
printf("\n");
}
}

int main()
{
int n;
printf("Enter n:");
while(scanf("%d",&n)&&n!=0)
if(n%2) //没有偶价魔方
magicsquare(n);
return 0;
}
相关问答
阵术的阵术介绍
1个回答2023-10-06 07:15
阵术,改变战斗环境的特殊仙术,有火,冰,风,雷,土,天师,金刚七种。 土阵:提高土系攻击效果,减弱冰系攻击效果=地夭六震符。 风阵:提高风系攻击效果,减弱雷系攻击效果=箕主簸扬符 冰阵:提高冰系攻击...
全文
手术台就是阵地还有那些阵地
1个回答2024-03-06 17:43
1、讲台是教师的阵地。 2、实验室是科学家的阵地。 3、神州号是我国宇航员的阵地。 4、油田是铁人的阵地。 5、教室是我们学生的阵地
算术 算术算术?
3个回答2022-07-09 10:10
这道题看似缺条件,但通过互相代换,可以计算出22日进货总价是2900元。
手术台就是阵地给我了什么道理?
1个回答2024-02-12 19:21
手术台是阵地,那时间就是生命,医生是军人,医生要增分夺秒地抢救那些鲜活而宝贵的生命。
给我《手术台就是阵地》原文
1个回答2024-02-08 05:57
  手术台就是阵地   1939年春,齐会战斗打响了。气焰嚣张的日军刚到齐会镇就挨了当头一棒,被我军消灭了500多人。   敌人不断反扑,战斗非常激烈。我军的伤员陆续从火线上抬下来。在离火线...
全文
为什么炼金术有阵炼丹术没阵?
4个回答2023-05-30 23:36
有的。 小梅在地下画了阵然后再扎上飞镖,同时空中就可以发动炼丹术了。
手术台就是阵地一口让你感动的话有哪些
1个回答2024-02-07 08:42
谢谢师长的关心。可是,手术台是医生的阵地。战士们没有离开他们的阵地,我怎么能离开自己的阵地呢?部长同志,请您转告师长,我是一名八路军战士,不是你们的客人。
魔术矩阵 是什么矩阵?
2个回答2023-08-11 13:46
magic(n)返回的矩阵是有1到n的平方这些数组成的矩阵,并且行列和都相等。比如magic(3)由1~9组成。
算术是什么?算术代数几何是算术吗?
4个回答2023-01-31 22:15
算术就是数字的计算,计算数字的大小,面积,体积的大小,数字之间的运算方法,统称是数学,内容很多,算术,代数,几何是算术中的一种,即数学中的一种计算方法。
怎样教孩子算算术
1个回答2024-03-03 17:21
先让他从加法学起,加法学会后让他背小九九。告诉他小九九有什么规律。然后让他自己在琢磨、小孩子想象力很丰富、学完这些不要太着急。让他消化消化。然后出题给他 若答得都差不多可以考虑学一些简单的实际问题、 ...
全文
热门问答