【偶数阶幻方】
发布日期:2021-11-04 12:59:26 浏览次数:17 分类:技术文章

本文共 1454 字,大约阅读时间需要 4 分钟。

.偶数阶幻方

说实话,偶数阶幻方我一直以为只有一种,就是2*n阶幻方问题。查了一下才知道偶数阶幻方也分为两小类。

先看看4阶幻方的填法:将数字从左到右、从上到下按顺序填写:

1 2 3 4

5 6 7 8
9 10 11 12
13 14 15 16

将对角线上的数字,换成与它互补的数字。

这里,nn+1 = 44+1 = 17;
把1换成17-1 = 16;把6换成17-6 = 11;把11换成17-11 = 6……换完后就是一个四阶幻方。

16 2 3 13

5 11 10 8
9 7 6 12
4 14 15 1

对于n=4k阶幻方,我们先把数字按顺序填写。写好后,按44把它划分成kk个方阵。因为n是4的倍数,一定能用44的小方阵分割。然后把每个小方阵的对角线,象制作4阶幻方的方法一样,对角线上的数字换成互补的数字,就构成幻方。 下面是8阶幻方的作法:

(1) 先把数字按顺序填。然后,按44把它分割成2*2个小方阵

1 2 3 4 5 6 7 8

9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32
33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48
49 50 51 52 53 54 55 56
57 58 59 60 61 62 63 64

(2) 每个小方阵对角线上的数字,换成和它互补的数。

64 2 3 61 60 6 7 57

9 55 54 12 13 51 50 16
17 47 46 20 21 43 42 24
40 26 27 37 36 30 31 33
32 34 35 29 28 38 39 25
41 23 22 44 45 19 18 48
49 15 14 52 53 11 10 56
8 58 59 5 4 62 63 1

好了,4*n阶幻方也完了,怎么样,简单吧!自己动手试试吧。

②.4n+2阶幻方

4n+2,乍一看就较4n麻烦了,事实也是如此,不过它的思想也简单。就是将4n+2看做2*(2n+1),这样一来就转化成了四个2n+1求幻方。
附注:下面的我以6阶幻方为例,那么,4*n+2=6,所以n=1。

我通过描述每个步骤加上图形的方式来表述4*n+2阶幻方实现的过程。

第一步:把整个表格分成4个(2n+1)(2*n+1)的小表格,分别叫A,B,C,D。见下图

这里写图片描述

第二步:这样A,B,C,D个小表格就成奇数幻方问题了。

①.将1,2,…,(2n+1)(2n+1)这些数划分给A,并对A实现奇数幻方;
②.将(2
n+1)(2n+1)+1,…,2*(2n+1)(2n+1)这些数划分给B,并对B实现奇数幻方;
③.将2
(2n+1)(2n+1)+1,…3(2n+1)(2n+1)这些数划分C,并对C实现奇数幻方;
④.将3
(2n+1)(2n+1)+1,…4(2n+1)(2*n+1)这些数划分D,并对D实现奇数幻方。
见下图

这里写图片描述

第三步:从A表中的中心(即第n行的MagicSquare[n][n])开始,按照从左向右的方向,标出n个数,A表中的其他行则标出最左边的n格中的数(在图中用红色背景标出)。并且将这些标出的数和C表中的对应位置互换。见下图

这里写图片描述

第四步:在B表中的中心(如上解释)开始,自右向左,标出n-1列,将B中标出的数据与D表中对应位置的数据交换。但是6阶幻方中,n-1此时等于0,所以B与D不用做交换

这里写图片描述

转载地址:https://blog.csdn.net/WYK1823376647/article/details/52423025 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【zzulioj 1900 985的“树”难题】
下一篇:【codeforces 710 C Magic Odd Square】

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月03日 14时03分40秒