关于幻方的描述可以直接点击进入百度词条查看,这里不作赘述,下面一段代码是基于K.N.King书后提供的思路,整理所得。 “将幻方存储在一个二维数组中。起始时把数1放在0行的中间,剩下的数2,3,……,n²依次向上移动一行并向右移动一列。当可能越过数组边间时需要‘绕回’到数组的另一端。例如:如果需要把下一个数放到-1行,我们就将他存储到n-1行(最后一行);如果需要把下一个数放到n列,我们就将其存储到0列。如果某个特定的数组元素已被占用,那就把该数存储咋前一个数的正下方,”[1]