设为首页 加入收藏

TOP

简单有趣的算法:魔方阵
2014-11-11 16:45:06 来源: 作者: 【 】 浏览:35
Tags:简单 有趣 算法 方阵

  所谓魔方阵,指的是1~n*n共n*n个自然数,排列成nXn的方阵,使得该方阵的每行、每列、对角线元素之和相等,并为只与n有关的常数,该常数为(1/2)nX(nXn+1)。


  假定阵列的行列下标都从1开始,则魔方阵的生成方法如下:


  1.在第1行中间置1;


  2.假定当前元素的下标为(i,j),则对其余的2~n*n个数,基本的放置位置为当前位置的右上方,即下标为(i-1,j+1)。与此同时,若当前的数是n的倍数,则放在当前位置的正下方,即下标为(i+1,j);若i-1小于1,则将这个数放在本列的最下端;若j+1大于n,则将这个数放在本行的最左端。


  #include "stdafx.h"


  #include


  #include


  void Array(int n);


  void main()


  {


  int n;


  printf("Set n,please:\n");


  scanf("%d",&n);


  Array(n);


  system("PAUSE");


  }


  void Array(int n)


  {


  int i, j, no, num, max;


  int *mtrx;


  if (n % 2 == 0)


  {


  n = n + 1;


  }


  max = n * n;


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇检测C++的内存泄漏用哪些工具 下一篇C语言递归算法求5!

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: