魔方阵的另一种解法

偷心的贼ou

偷心的贼ou

2016-02-19 13:28

下面这个魔方阵的另一种解法教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!
    魔方阵是指元素为自然数1,2,…N2的N×N,每个元素值都不相等,每行、每列以及主、副对角线上各N个元素之和都相等。如3×3魔方阵:
  8 1 6
  3 5 7
  4 9 2
  奇数阶魔方阵的生成方法如下:
  (1) 第一个位置在第一行正中;
  (2) 新位置应当处于最近一个插入位置右上方,但如右上方位置已超出方阵上边界,则新位置取应选列的最下一个位置,如超出右边界则新位置取应选行的最左一个位置;
  (3) 若最近一个插入元素为N的整倍数,则选下面一行同列上的位置为新位置。
  
  #include stdio.h
  #define MAXSIZE 15
  int magic[MAXSIZE][MAXSIZE];
  int cur_i=0,cur_j=0;
  main()
  {int count,size=0,i,j;
  while((size%2)==0)
  {
  printf("enter ODD number:");
  scanf("%d",&size);
  }
  cur_j=(size-1)/2;
  for(count=1;count=size*size;count++)
  {
  magic[cur_i][cur_j]=count;
  if((count%size)==0)
  {
  cur_i+=1;
  continue;
  }
  cur_i=cur_i-1;
  cur_j=cur_j+1;
  if(cur_i0)
  cur_i+=size;
  else if(cur_j==size)
  cur_j-=size;
  }
  for(i=0;isize;i++)
  {
  printf("");
  for(j=0;jsize;j++)
  printf("%5d",magic[i][j]);
  }
  }
  
  此程序参见《中国计算机软件专业技术资格和水平考试统编辅导教材》(程序员级、高级程序员级)《程序设计第二版》张福炎主编,清华大学出版社,1996年5月第二版,P96
展开更多 50%)
分享

猜你喜欢

魔方阵的另一种解法

编程语言 网络编程
魔方阵的另一种解法

关于魔方阵的解法

编程语言 网络编程
关于魔方阵的解法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

CAD弹簧的另一种做法

autocad教程
CAD弹簧的另一种做法

香熏疗法 另一种胎教方式

孕期
香熏疗法 另一种胎教方式

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

CAD弹簧的另一种做法教程

autocad教程
CAD弹簧的另一种做法教程

另一种打开U盘的方法

电脑入门
另一种打开U盘的方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

hosts文件修改无效怎麼辦

hosts文件修改无效怎麼辦

如何获得CPU使用率

如何获得CPU使用率
下拉加载更多内容 ↓