感谢感谢。对于奇数阶幻方,用“左上斜行法”。int x=0,y=n/2;
for(int i=1;i<=n*n;i++)
{
m[x][y]=i;
x--;
y--;
if(x<0&&y<0)
{
x=x+2; //请问为什么是+2呢?(当+1的时候就无法实现)
y=y+1;
}
else if(x<0)
{
x=x+n;
}
else if(y<0)
{
y=y+n;
}
else if(m[x][y]!=0)
{
x=x+2;
y=y+1;
}
}
添加回答
举报
0/150
提交
取消