幻方可分为三类:奇阶幻方、双偶阶幻方和单偶阶幻方,每一种都有统一的解法。
我在五年级的时候参加过省数学竞赛,学过三阶和四阶幻方的解法,然后在大学里读过一本《河图洛书探秘》,学会了其他幻方的解法。先说说两种比较简单的,三阶和四阶幻方的解法吧。
如果您愿意的话跳过这一部分,直接看分隔线后面的统一解法。
【三阶幻方】
又叫九宫。杨辉的解法:九子斜排,上下对易,左右相更,四维挺出。具体做法:
一、九子斜排
二、上下对易
三、左右相更
四、四维挺出
搞定。
【四阶幻方】
比三阶幻方还简单
一、按顺序把16个数字排列起来
二、外四角对换
三、内四角对换
搞定。
∷∷∷∷∷∷∷∷∷∷∷∷∷∷知乎上貌似挺流行分隔线∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷
然后是幻方的统一解法,其实学会了这里的解法,前面三阶和四阶幻方的解法就没必要记了。
【奇阶幻方】
就是阶数为奇数的幻方,比如3、5、7、9……阶幻方。以五阶幻方为例,解法:
第一行中间格填1,从这个格子开始,向右上方按顺序填充。如果超出了第一行,则填到最底下一行;如果超出了最右边一列,则填到最左边一列:
如果遇到下一个格子里已经有数字的,就填到当前格子的下方:
按照上面两条规则继续填充:
搞定。
【双偶阶幻方】
阶数为4的倍数的幻方称为双偶阶幻方,比如4、8、12、16……阶幻方。以8阶幻方为例,解法:
首先把所有格子划分为4×4的小幻方,给每个小幻方画上对角线。
第一轮填充,从第一行第一列开始,从左到右,从上到下,从1到64,依次填充。规则是只填充没对角线的棍子,画了对角线格子不写。
第二轮填充,从最后一行最后一列开始,从右到左,从下到上,从1到64,依次填充。规则是只填充画了对角线的,没画对角线的不填。
搞定。(当然,最好是擦掉对角线∩_∩)
【单偶阶幻方】
这是解法最复杂的一种。如果阶数是2的倍数,但不是4的倍数,称为单偶阶幻方。以6阶幻方为例,解法:
一、先把格子分成4个等大的象限。
二、按照A→D→B→C的顺序,把四个部分按照奇阶幻方的顺序填充起来。
三、计算K值。如果阶数为N,K=(N - 2) / 4,对于6阶幻方来说,K=1。
四、从A象限的中间行中间列开始为第一格,往右标出K格。因为K=1,所以只需要标出这一格就行了。然后标出A象限其他行的左边K列。把A象限做出标记的格子跟C象限对换。
五、从B象限的中间列所有格子开始,向左标出K-1列,与D象限对换。
因为K=1,K-1=0,所以6阶幻方不需要处理B、D象限,所以其实上图中6阶幻方已经完成了。
如果是14阶幻方,K=3,所以需要对换的格子将会是这样:
A、B象限的黄色格子跟C、D象限的蓝色格子对换。
14阶幻方解出来会是这样:
∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷再来一个分隔线∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷
我写了一个解幻方的程序,下载地址:解幻方.exe_免费高速下载
理论上说应该是可以解任意阶的幻方的,但是计算过程中受变量类型的限制,最多只能解1290阶的幻方。而且采用的DataGirdView又多了一层限制,如果阶数大于655阶就会无法显示。所以656~1290阶的幻方只能复制到剪贴板上,然后粘到Excel里。
下面是软件截图:
为了有人看见,再贴一次下载链接:解幻方.exe_免费高速下载
∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷最后一个分隔线∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷