您的位置:首页 > 其它

神奇的幻方

2017-09-16 22:47 288 查看
#include<iostream>

using namespace std;

 int n;

 int h[40][40];

  

  

int main() 



cin>>n;

int i=1,j=(1+n)/2;

  h[i][j]=1;

 

  for(int k=2;k<=n*n;k++)

  {

  if(i==1&&j!=n)

  {

  i=n;j+=1;
 }
 else if(j==n&&i!=1)
 {
  j=1;i-=1;
 }
 else if(i==1&&j==n)
 {
  i=i+1;
 }
 else if(i!=1&&j!=n)
 {
  if(h[i-1][j+1])
  {
  i+=1;
 }
 else
 {
  i--;
  j++;
 }
 }
 

  h[i][j]=k;

 }

 for(i=1;i<=n;i++)
 {
  for(j=1;j<=n;j++)
  cout<<h[i][j]<<' ';
  cout<<endl;
 }

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: