幻方分为3类。奇阶幻方(奇数)、双偶幻方(能够被4整除,如8,12,16……)、单偶幻方(4m+2形式,如6,10……),构造算法各不相同。
下面的程序中,奇阶幻方的构造算法为Merzirac法。双偶幻方的构造算法为Spring法。单偶幻方的构造算法为Strachey法。
奇数幻方:
在第一行居中的方格内放1,依次向右上方填入2、3、4…,如果右上方已有数字,则向下移一格继续填写。
参考:http://blog.csdn.net/zheng0518/article/details/9006281
双偶幻方:
(1) 先把数字按顺序填。然后,按4*4把它分割成2*2个小方阵 。
(2) 每个小方阵对角线上的数字,换成和它互补的数。
参考:http://chenxuebiao3.blog.163.com/blog/static/274911182011111911429621/
单偶幻方:
参考:http://blog.sina.com.cn/s/blog_639b95e90100i6h4.html
转载地址http://blog.csdn.net/zzukun/article/details/39431303