射雕英雄传里的瑛姑(现在小学生都会填的九宫格)
在90年代网络没有如今这般普及,电视剧播放的也少,全国各地往往看的电视相同,83版《射雕英雄传》风靡全国。其中黄蓉替瑛姑解算九宫格难题,也使九宫格数字谜题得到了更为广泛的传播,而其中瑛姑的话:“想不到我苦思十几年的难题,被你三言两语就解决了”,却当时的我很是不解,难道九宫格题目这么难?现在看当然不是!如今许多小学生在刚上学时便开始接触九宫格了。
倒不是说瑛姑真的花了十多年未解开九宫谜题,而且小说也并非这般写的。只是提到瑛姑自以为解题方法是她发明的而已。小说中黄蓉还提到了四宫格、五宫格以至百子图等。让83版编剧这样一改,大概很多人都只有两种想法。
第一,九宫格非常的难,常人难以解开,而且变化非常多。
第二、瑛姑不会基本算法,用现在思维来说就是没有接触相关算题。
闲谈两句,下面步入正题,谈一谈九宫格和数字幻方。整个文章将分为三个部分。
第一部分以口诀方法填写九宫格;
第二部分常规填写九宫格的方法;
第三部分幻方的填法。
- 第一部分:九宫格填写的口诀。
在《射雕英雄传》中黄蓉曾破解九宫格,口诀:戴九履一,左三右七,二四有肩,八六为足,五居中央。
我虽然不太主张记忆这些规律,但却不得不说记住这些基本填法,有助于解题效率,总不能碰到一次算一次吧。如果说1-9这几个数字代表编码的话,那么对于有相同规律的数字比如连续的9个数字33-41或等差的数字3,6,9,12,15,18,21,24,27,便可直接编上号码填入。
另外在九宫格中,中间部分9-5=5-1=4,7-5=5-2=2,也就是差相等,而且右角落(9 7)÷2=8,(9 3)÷2=6,(3 1)÷2=2,(7 1)÷2=4,这些在非规则(比如非等差无规律数)九宫格中或可用到
- 第二部分:最基本填写九宫格方法(完全没接触过口诀)。
首先:计算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阶等4的倍数阶时。
采用对称元素交换法。
首先把数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行)
还有其他形式比如:
当然还有其他许多中变化,甚至可以组成和为不同数字的幻方,但需要等量变换。
以上便是幻方的填写过程,当然这种写法如果用在计算机编程中还是需要重新整理,不过游戏娱乐用足以。
就写这么多,喜欢请收藏,也欢迎大家多多关注,转发。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com