以前,曾在街头上见过一种能够猜出别人“姓”什么的游戏卡片.一套七、八张,外加一张“姓氏对照表”.现在,我们只用六张卡片,把这种游戏的玩法及原理,介绍给大家.
六张卡片如下,分别标以(5)、(4)、(3)、(2)、(l)、 (0)号:
姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳都鲍史
(5)
杨朱秦龙许何吕施张孔曾严华金魏陶郎鲁韦昌马苗凤花方俞任袁柳都鲍史
(4)
王冯陈褚卫蒋沈韩张孔曹严华金魏陶章云苏潘葛奚范彭方俞任袁柳都鲍史
(3)
李周吴郑卫蒋沈韩许何吕施华金魏陶喻柏水窦葛奚范彭马苗凤花柳为鲍史
(2)
钱">钱孙吴和陈褚沈韩秦尤吕施曹严魏陶谢邹水窦苏潘范彭韦昌凤花任袁鲍史
(1)
赵孙周陈冯褚蒋韩朱尤何施孔严金陶戚邹柏窦云潘奚彭鲁昌苗花合袁都史
(0)
由于我们只选用了六张卡片,所以只能在卡片中排出63个不同的姓氏(如果用七张卡片,则可以排出127个姓;若用 八张卡片,就可以排出255个姓).把出现在卡片中的63个 姓,按它们在《百家姓》中的顺序,依次排列如下:
1 2 3 4
赵 钱">钱 孙 李
000001 000010 000011 000100
5 6 7 8
周 吴 郑 王
000101 000110 000111 001000
9 10 11 12
冯 陈 褚 卫
001101 001110 001111 010000
13 14 15 16
蒋 沈 韩 杨
001101 001110 001111 010000
17 18 19 20
朱 秦 尤 许
010001 010010 010011 010100
21 22 23 24
何 吕 施 张
010101 010110 010111 011000
25 26 27 28
孔 曹 严 华
011001 011010 011011 011100
29 30 31 32
金 魏 陶 姜
011101 011110 011111 100000
33 34 35 36
戚 谢 邹 喻
100001 100010 100011 100100
37 38 39 40
柏 水 窦 章
100101 100110 100111 101000
41 42 43 44
云 苏 潘 葛
101001 101010 101011 101100
45 46 47 48
奚 范 彭 郎
101101 101110 101111 110000
49 50 51 52
鲁 韦 昌 马
110001 110010 110011 110100
53 54 55 56
苗 凤 花 方
110101 110110 110111 111000
57 58 59 60
俞 任 袁 柳
111001 111010 111011 111100
61 62 63
酆 鲍 史
111101 111110 111111
这就是那张“姓氏对照表”.其中,每个姓下边的方框中的代 号,是我们为了说明问题特意加上去的.
有了这六张卡片和“姓氏对照表”,就可以做猜“姓”游戏 了.做游戏时,从(5)~(0)号依次出示在对方面前,只要他—一回答某张卡片上是否有自己的姓.那么,根据他的回 答,我们立刻就能断定他的姓.比如:一个人回答,第(5)、 第(4)号卡片上有他的姓;第(3)、第(2)号卡片上没有;第 (l)号卡片上有;第(0)号卡片上没有.那么,这个人一定是 姓“韦”.对此你可以利用上面的卡片先“验证”一下.
这个游戏,看起来似乎很神,其实道理非常简单.我们只需用一点有关数的进位制的知识,就能揭示其全部奥秘. 让我们首先从卡片的制作说起. 事实上,我们是根据“姓氏对照表”来制作卡片的.第一 步,把“对照表”中63个姓的序号l—63,“翻译”成二进位 制的数.这样,就可以得到上述“姓氏对照表”中,每个姓的下边方框里的那些数.例如:
赵,序号1,可化成 0 0 0 0 0 1
卫,序号12,可化成 0 0 1 1 0 0
严,序号27,可化成 0 0 0 0 0 1
水,序号38,可化成 0 0 0 0 0 1
彭,序号47,可化成 0 0 0 0 0 1
史,序号63,可化成 0 0 0 0 0 1
等等.第二步,把六张卡片分别看作是二进位制中的六个数位,即25、24、23、22、21、20等六个数位.再让63个姓,根据它们的二进位制的代号,来一个“对号入座”,全部填写到相应的卡片上去.具体的填法如下:
水 彭 史
(5)号卡片
严 史
(4)号卡片
卫 严 彭 史
(3)号卡片
卫 水 彭 史
(2)号卡片
严 水 彭 史
(1)号卡片
赵 严 彭 史
(0)号卡片
至此,卡片就制成了.
当你了解了卡片的制作方法以后,对这套卡片能够猜出姓 氏的道理,就不难理解了.在做游戏时,我们把卡片出示给对方,要他回答这些卡片上是否有自己的姓,实际上就是在蝈查”他的姓的二进位制的代号.一旦我们知道了这个代号,那么,只需把这个代号再“翻译”回去,即算出它的十进位制的那个序号,于是,立刻就能根据“姓氏对照表”将他的姓找出来.还是以前面那位姓“韦”的人为例,当他告诉我们:第 (5)、第(4)号卡片上“有”他的姓;第(3)、第(2)号卡片上 “没有”;第(l)号卡片上“有”;第(0)号卡片上“没有”.那么, 事实上,他就已经把自己的姓的二进位制代号
1 1 0 0 1 0
告诉我们了.接下来的工作,就是再把这个代号“翻译”成十进位制的序号,而这是非常容易做到的,即
1×25+1×24+0×23+0×22+1×21+0×20
=32+16+0+0+2+0
=50
这时,在“姓氏对照表”中可以查出,序号50是“韦”,就是这个人的姓.
最后,顺便指出,游戏中的“翻译”工作,是在对方回答 “有”或“没有”的同时进行的.因为,我们只需记住32、16、8、 4、2、l几个数,也就是25、24、23、22、21、20等,“翻译”并求出最后的结果,是非常方便的.另外,如果你打算自己制作这 样一套卡片的话,那么,最好把那些填在同一张卡片上的姓 氏的次序打乱,使人家不容易发现填写卡片的“规律”.这样,做游戏时就更能迷惑人.

