用php语言输出下图的奇数阶矩阵魔方矩阵

版权声明:本文为博主原创文章未经博主允许不得转载。 /xujing/article/details/

  要求输出1~n?的自然数构成的魔方阵。

  魔方阵古代又称“纵横图”,是指组成元素为自然数1、2…n2的平方的n×n的方阵其中每个元素值都不相等,且每行、每列以忣主、副对角线上各n个元素之和都相等

STEP 2 魔方阵的规律是什么?

  此处先写简单一点的奇阶魔方阵偶数阶的算法更复杂,暂不讨论

  奇阶魔方阵的排列方法:

  ⑴将1放在第一行中间一列;

  ⑵从2开始直到n×n止各数依次按下列规则存放;每一个数存放的行比前一個数的行数减1,列数加1;

  ⑶如果上一个数的行数为1则下一个数的行数为n(指最下一行);

  ⑷当上一个数的列数为n时,下一个数嘚列数应为1行数减去1;

  ⑸如果按上面规则确定的位置上已有数,或上一个数是第一行第n列时则把下一个数放在上一个数的下面。

  ⑴构造一个n阶魔方阵雏形即n*n的动态二维数组;

  ⑵编写函数实现魔方阵的排列算法;

  ⑶调用函数输出魔方阵。

  malloc函数:分配内存空间给动态数组(使用后需在函数最后用free语句释放所占用的内存)

  memset函数:给数组的所有元素赋初值

我要回帖

更多关于 奇数阶矩阵 的文章

 

随机推荐