找考题网-背景图
问答题

简答题

编程实现:在一个由N×N(N为大于1的奇数)个方格组成的方阵中,填入1、2、3、...、N2各个数,使得每一行、每一列以及两个对角线上数的和均相等(奇数幻方问题)。例如,下面是一个3×3的幻方:

(提示:把1填在第一行最中间的格子中,然后按下面的方法依次来填其它的数:如果当前格子是方阵中最右上角的格子,则把下一个数填在下一行的同一列格子中;否则,如果当前格子在第一行上,则把下一个数填在下一列的最后一行格子中;否则,如果当前格子在最后一列上,则把下一个数填在上一行的第一列格子中;否则,如果当前格子的右上角格子里没有数,则在其中填入下一个数,否则把下一个数填在下一行的同一列格子中。)

【参考答案】