幻方,有时又称魔方,由一组排放在正方形中的整数组成,其每行、每列以及两条对角线上的数之和均相等。通常幻方由从到的连续整数组成。
Siamese方法(Kraitchik 1942年,pp. 148-149)是构造奇数阶幻方的一种方法,说明如下:
1)把1放置在第一行的中间
2)从2开始直到n×n的各数依次放在右上方格中
3)当右上方格出界的时候,则由另一边则回绕。例如1在第1行,则2应放在最下一行,列数同样加1
4)如果按上面规则确定的位置上已有数,或上一个数位于最右上方时,则把下一个数放在上一个数的下面 按照以上步骤直到填写完所有方格。
输入: 自然数n(1<=n<=20,n是奇数)
输出: n行,每行n个数,每个数占4个字符位置。 提示:使用 printf("%4d", x) 来打印
5
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9