3阶

5阶

21阶

观察样例,发现规律:
定义一个二维数组模拟填数通过的过程。分析样例会发现,n阶奇数幻方可以按下列方法生成:
1,先把数字1填在第一行的正中间。然后用一个循环枚举K,填入剩余的数字。
2,每次先找位置再填数。找位置的规律如下:如果K填在第i行第j列,那么一般情况下,下一个数k+1应该填在他的右上方。但是有两种特殊情况:如果右上方无格子也就是越界了,那么就应该把下一个数放在n行或者第1列;如果右上方已经有数了,那么下一个数K+1就应该填在第K个数的正下方。
5
19 25 1 7 13
24 5 6 12 18
4 10 11 17 23
9 15 16 22 3
14 20 21 2 8