- 龙凤苑中学A班6.12
神奇的幻方
- @ 2024-7-11 18:25:43
#include<bits/stdc++.h>
using namespace std;
int a[100][100];
int main(){
int n;
cin>>n;
int x,y;
int m=1;
while(m<=n*n){
if(m==1)
a[x=1][y=n/2+1]=m++;
else if(x==1&&y!=n)
a[x=n][++y]=m++;
else if(x!=1&&y==n)
a[--x][y=1]=m++;
else if(x==1&&y==n)
a[++x][y]=m++;
else if(x!=1&&y!=n){
if(a[x-1][y+1]==0)
a[--x][++y]=m++;
else
a[++x][y]=m++;;
}
}
for(int i=1;i<=n;++i){
for(int v=1;v<=n;++v)
{
cout<<a[i][v]<<" ";
}
cout<<endl;
}
return 0;
}
0 comments
No comments so far...