当n为奇数时,一般称为“n阶奇数幻方”,下面我们也只讨论n为奇数的情况。首先,n阶奇数幻方是存在的。可以验证它不是唯一的,因为把这个数字方阵对称、旋转后可得到若干个依然满足题目的方阵。
构建n阶奇数幻方的方法一般如下:把1放在第一行的正中间,对于后面的任意一个数i(i从2到n*n),如果它的前一个数是n的倍数,则i的位置应该放在前一个数的正下方;
否则,i的位置应该放在前一个数的右上方。当然,如果过程中出现i的位置超过了棋盘,则应该把它拉回来(即出现在第i行的上面则变成第n行,出现在第n列的右边则变成第一列)。
下面也是一个建立思路。
设计一个程序,打印“魔方阵”,所谓“魔方阵”是指每一行、每一列和对角线之和均相等的方阵。例如: