来构成所要求的魔方阵
f方法一;
此程序使我按照上面介绍的魔方阵的规律编写的不过只能求奇数魔方阵经过测试可以算
到508阶
defi
eN7
i
cludestdioh
voidmai
i
taNNijk
fori0iNi先处理第一行
forj0jNj
aij0
先令所有元素都为0
jN12
判断j的位置
a0j1将1放在第一行中间一列
fork2kNNk再从2开始处理
ii1存放的行比前一个数的行数减1
jj1存放的列比前一个数的列数加1
ifi0jN前一个数是第一行第N列时把下一个数放在上一个数的下面
ii2
jj1
else
ifi0当行数减到第一行,返回到最后一行
iN1
ifjN1当列数加到最后一行,返回到第一行
j0
ifaij0如果该元素为0继续执行程序
aijk
else
如果该元素不为0就说明要填的数的位置已经被占则该数放在上一个数
的下面
ii2
jj1
aijk
fori0iNi输出数组
fforj0jNjpri
tf