回复:(wolf777)魔方阵能解释下是什么编程问题?
所谓魔方阵,是指每一行、每一列经及对角线之和均相等,最大阶数只能为15,所以定义数组为16行16列,对第0行第0列不存在数据,而是从第1行第1列开始存放数,以符合读者的习惯。
规则如下:
(1)将1放在第一行中间的一列;
(2)从2开始直到N*N为止,各数依次按照下列规则存放:每一个数字存放的行比前一个数的行数减一,列数加一;
(3)如果上一个数的行数为1时,则下一个数的行数为N(即最下一行);
(4)当上一个数的列数为N,下一个数的列数应该为1,行数减一;
(5)如果按照上面规则确定的位置上已有数,或者上一个数是第1行第N列时,则把下一个数放在上一个数的下面。