根据构造方法的不同,幻方可以分成三类:奇数阶幻方、4M阶幻方和4M + 2阶幻方,其中M为自然数,2阶幻方不存在。
1 奇数阶幻方构造法
(1) 将1放在第一行中间一列;
(2) 从2开始直到n×n止各数依次按下列规则存放:按 45°方向行走,向右上,即每一个数存放的行比前一个数的行数减1,列数加1
(3) 如果行列范围超出矩阵范围,则回绕。例如1在第1行,则2应放在最下一行,列数同样加1;
(4) 如果按上面规则确定的位置上已有数,或上一个数是第1行第n列时,则把下一个数放在上一个数的下面。
2 偶数阶幻方构造
2.1 4m阶的幻方
(1) 把数1到n×n按从上至下,从左到右顺序填入矩阵
(2) 将方阵的所有4×4子方阵中的两对角线上位置的数关于方阵中心作对称交换,即a(i,j)与a(n-1-i,n-1-j)交换,所有其它位置上的数不变。
------------->
3 4m+2阶幻方
(1) 首先构造n-2=4m的幻方,然后放在n阶幻方的中心
(2) 将4m阶幻方中每个数都加上8m+2;
(3) 将1,2,...,8m+2 与 ....(4m+2)2成对排在外围的一圈,如下图,注意中心的4m阶未加上8m+2,且保证每对数相加=1+(4m+2)2
4 代码示例
4.1 奇阶幻方的生成
4.2 4m阶幻方的生成