奇数幻方的构造方法
(2008-10-21 23:57:16)
标签:
杂谈 |
分类: 在职研究生 |
奇数幻方的构造方法
幻方简介
奇数阶幻方算法介绍
德拉鲁布(De laloubere)算法
当n(n>1)是奇数时,只需按以下步骤填写,即可得到一个n阶幻方。
1.
2.
3.
如3阶幻方:
8 |
1 |
6 |
3 |
5 |
7 |
4 |
9 |
2 |
如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 |
马步法
具体算法如下:
当n(n>1)是奇数时,只需按以下步骤填写,即可得到一个n阶幻方。
1.
2.
3.
如3阶幻方:
8 |
1 |
6 |
3 |
5 |
7 |
4 |
9 |
2 |
如5阶幻方:
23 |
12 |
1 |
20 |
9 |
4 |
18 |
7 |
21 |
15 |
10 |
24 |
13 |
2 |
16 |
11 |
5 |
19 |
8 |
22 |
17 |
6 |
25 |
14 |
3 |
另外,我发现其实数字1的位置并非必须在第一行的中间,如果数字1在其它位置,也是可能能够组合出幻方的,但是在跳步的时候就不一定是跳到之前数字的下方了,它肯能跳到其它的位置。
l
l
l
l
只要给出的这4个参数合适,则通过这4个参数可以生成任何奇数阶的幻方方阵。
2 |
9 |
4 |
7 |
5 |
3 |
6 |
1 |
8 |
设置(start row = 3,start col=3,step row = 0,step col=4),则可以生成如下的5阶幻方:
17 |
11 |
10 |
4 |
23 |
5 |
24 |
18 |
12 |
6 |
13 |
7 |
1 |
25 |
19 |
21 |
20 |
14 |
8 |
2 |
9 |
3 |
22 |
16 |
15 |
奇偶有序型奇数阶幻方
奇偶有序性幻方除了满足幻方的条件外,还有自己独特的特性(什么特性呢,看下面的例子吧),
按照下面方法可以构造奇数阶的奇偶有序型幻方的方法。
当n(n>1)是奇数时,只需按以下步骤填写,即可得到一个n阶幻方。
1.
2.
3.
如3阶奇偶有序型:
6 |
1 |
8 |
7 |
5 |
3 |
2 |
9 |
4 |
如5阶奇偶有序型:
14 |
10 |
1 |
22 |
18 |
20 |
11 |
7 |
3 |
24 |
21 |
17 |
13 |
9 |
5 |
2 |
23 |
19 |
15 |
6 |
8 |
4 |
25 |
16 |
12 |
其它方法:
同样将任何一个幻方顺时针分别旋转90度、180度和270度可以分别得到另外3个幻方。
因此,从每一个幻方中都可以衍生出7个幻方。
算法的程序实现
UINT