在90年代网络没有如今这般普及,电视剧播放的也少,全国各地往往看的电视相同,83版《射雕英雄传》风靡全国。其中黄蓉替瑛姑解算九宫格难题,也使九宫格数字谜题得到了更为广泛的传播,而其中瑛姑的话:“想不到我苦思十几年的难题,被你三言两语就解决了”,却当时的我很是不解,难道九宫格题目这么难?现在看当然不是!如今许多小学生在刚上学时便开始接触九宫格了。 倒不是说瑛姑真的花了十多年未解开九宫谜题,而且小说也并非这般写的。只是提到瑛姑自以为解题方法是她发明的而已。小说中黄蓉还提到了四宫格、五宫格以至百子图等。让83版编剧这样一改,大概很多人都只有两种想法。 第一,九宫格非常的难,常人难以解开,而且变化非常多。 第二、瑛姑不会基本算法,用现在思维来说就是没有接触相关算题。 闲谈两句,下面步入正题,谈一谈九宫格和数字幻方。整个文章将分为三个部分。 第一部分以口诀方法填写九宫格; 第二部分常规填写九宫格的方法; 第三部分幻方的填法。
在《射雕英雄传》中黄蓉曾破解九宫格,口诀:戴九履一,左三右七,二四有肩,八六为足,五居中央。 我虽然不太主张记忆这些规律,但却不得不说记住这些基本填法,有助于解题效率,总不能碰到一次算一次吧。如果说1-9这几个数字代表编码的话,那么对于有相同规律的数字比如连续的9个数字33-41或等差的数字3,6,9,12,15,18,21,24,27,便可直接编上号码填入。
首先:计算1+2+3+4+5+6+7+8+9可知和为45,则如果单按行算可知三行和便是45,所以每行和为15,即横竖、斜向和均为15。 如上图所示,两向斜方格,中间一横、一竖方格,相当于4个15相加,总和为60,已将所有方格计算在内却要比1-9的总和大15。仔细观察可知中央格多加了3次,所以可知中央格为5。 在剩余的数中,可组成和为15的有四组,而这所有的四组数字中1,3,7,9各出现1次,2,4,6,8各出现两次,再从边角位置的特殊性可知,偶数2,4,6,8填入边角,1,2,7,9填入中间格,同时按1,9和2,8以及3,7和4,6成对。 这样便可填出九宫格,因为上面已填所以不再赘述,但整个九宫格旋转还是有很多变化的。
《射雕英雄传》中也提到了四宫格、五宫格等。其实对于这种将数字安排在正方形格子中,使每行、列和对角线上的数字和都相等的方法有一个统一的的名字叫做幻方,其中3行3列的是3阶幻方、4行4列的是四阶幻方,N行N列的便是N阶幻方。 那么对于高阶幻方我们该怎么填呢? 对于N阶幻方,可以分为3类:当N为奇数时,N为4的倍数、N为其它偶数(4n+2的形式) 1、当N为偶数时最为简单,它就是4步走。 ⑴ 将1放在第一行中间一列; ⑵ 从2开始直到n×n止各数依次按下列规则存放: 按 45°方向行走,如向右上,每一个数存放的行比前一个数的行数减1,列数加1 ⑶ 如果行列范围超出矩阵范围,则回绕(绕到其下一列,并移至最后一行,如果已超出最右侧,则将数字填入最左侧行数同样减1,如果已超出最顶行、最右列,则填入到上一个数的下方。)。 ⑷ 如果按上面规则确定的位置上已有数,或上一个数是第1行第n列时则把下一个数放在上一个数的下面。 它的口诀如下: 居上行正中央, 依次斜填切莫忘, 上出框界往下写, 右出框时左边放, 重复便在下格填, 出角重复一个样。 如3阶动图。 5阶幻方: 至于7阶、9阶幻方可自行填写,权当娱乐,填好也可以发评论。 2、当N为4阶、8阶时。 采用对称元素交换法。 首先把数1到n×n按从上至下,从左到右顺序填入矩阵 然后将方阵的所有4×4子方阵中的两对角线上位置的数关于方阵中心作对 称交换,即a(i,j)与a(n+1-i,n+1-j)交换,所有其它位置上的数不变。 (或者将对角线不变,其它位置对称交换也可) **以上方法只适合于n=4时** 如4阶幻方 8阶幻方不再举例。 下面看4n+2即普通的偶数幻方,这种幻方相对麻烦一些,方法也不唯一,这里只说一种方法。 第一步:先看幻方形式,我们以6阶幻方举例。如果4n+2=6,则n=1(稍后有用)。 将幻方分为四部分,左上、左下、右上、右下,并将1-36/4=9,10-18,19-27,28-36分别填入四角,顺序为左上、右下,右上、左下,并按奇数幻方填好。 如图: 从左上和左下表格中按中心两边分别选n个数,中间行选n个数,且中心格必选,这里n=1(左上,左下),同时在右上,右下表格中任一选n-1列,这里n=1,n-1=0不用选。 按图中颜色相同的位置(行数是N/4的差)进行调换翻转得到如下形式: 上图便是6阶幻方填好后的形式,用excel验证下有,行、列、斜向和均为111: 再填一个10阶幻方: 先分块分成4个5×5的幻方,并填好各角。 这里中间行分别选了中央格左侧和其本身2个(4n+2=10,n=2),然后在左侧方向,中间行的上两行和下两行分别选了两个,最后进行调换(调换形式是其对应的i+10/2行) 还有其他形式比如: 当然还有其他许多中变化,甚至可以组成和为不同数字的幻方,但需要等量变换。 以上便是幻方的填写过程,当然这种写法如果用在计算机编程中还是需要重新整理,不过游戏娱乐用足以。 就写这么多,喜欢请收藏,也欢迎大家多多关注,转发。 |
|