1318. Magic Square

来源:互联网 发布:诺基亚e72软件 编辑:程序博客网 时间:2024/05/29 17:07



#include <iostream>#include <iomanip>using namespace std;int main(){int n,flag=0;while(cin>>n){if(flag!=0) cout<<endl;flag++;cout<<"n="<<n<<", sum="<<(n*n+1)/2*n<<endl;int arr[17][17]={0},num=1,i=0,j=n/2;arr[i][j]=num++;for(int z=0;z<n*n-1;z++){int ii,jj;if(i==0) ii=n-1;else ii=i-1;if(j==n-1) jj=0;else jj=j+1;if(arr[ii][jj]==0){i=ii;j=jj;arr[i][j]=num++;}else {if(i==n-1) i=0;else i++;arr[i][j]=num++;}}for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(n<4)cout<<setw(2)<<arr[i][j];else if(n<10)cout<<setw(3)<<arr[i][j];else cout<<setw(4)<<arr[i][j];}cout<<endl;}}return 0;}


原创粉丝点击