猜姓游戏

2002-7-25 20:51:57 [数学]
  以前,曾在街头上见过一种能够猜出别人"姓"什么的游戏卡片。一套七、八张,外加一张"姓氏对照表"。现在,我们只用六张卡片,把这种游戏的玩法及原理,介绍给大家。

  六张卡片如下,分别标以(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等,"翻译"并求出最后的结果,是非常方便的。另外,如果你打算自己制作这样一套卡片的话,那么,最好把那些填在同一张卡片上的姓氏的次序打乱,使人家不容易发现填写卡片的"规律"。这样,做游戏时就更能迷惑人。