猜姓氏游戏及其数学原理.docx
《猜姓氏游戏及其数学原理.docx》由会员分享,可在线阅读,更多相关《猜姓氏游戏及其数学原理.docx(8页珍藏版)》请在冰豆网上搜索。
猜姓氏游戏及其数学原理
猜姓氏游戏及其数学原理
猜姓氏游戏及其数学原理
在民间流行着一种能够猜出别人“年龄和姓氏”的魔术,这是一套七张的卡片,在每张卡片上分别写有64个数和64个姓氏。
第Ⅰ张卡片
1赵3孙5周7郑9冯11蒋13韩15朱
17许19吕21孔23严25金27姜29谢31窦
33潘35奚37彭39马41方43任45柳47史
49费51雷53倪55殷57郝59于61齐63顾
65黄67尹69邵71毛73宋75熊77祝79梁
81季83江85梅87刁89邱91夏93田95万
97莫99缪101丁103洪105崔107邢109翁111全
113仇115景117叶119乔121谭123尚125冷127竺
第Ⅱ张卡片
第Ⅴ张卡片
16秦17许18何19吕20张21孔22曹23严
24华25金26魏27姜28戚29谢30柏31窦
48唐49费50薛51雷52贺53倪54汤55殷
56罗57郝58安59于60卞61齐62余63顾
80杜81季82贾83江84郭85梅86林87刁
88徐89邱90高91夏92蔡93田94胡95万
112宫113仇114刘115景116詹117叶118屠119乔
120翟121谭122牛123尚124瞿125冷126沙127竺
第Ⅵ张卡片
32苏33潘34葛35奚36范37彭38鲁39马
40花41方42俞43任44袁45柳46鲍47史
48唐49费50薛51雷52贺53倪54汤55殷
56罗57郝58安59于60卞61齐62余63顾
96卢97莫98房99缪100解101丁102邓103洪
104石105崔106吉107邢108陆109翁110储111全
112宫113仇114刘115景116詹117叶118屠119乔
120翟121谭122牛123尚124瞿125冷126沙127竺
第Ⅶ张卡片
64孟65黄66萧67尹68姚69邵70汪71毛
72戴73宋74茅75熊76纪77祝78董79梁
80杜81季82贾83江84郭85梅86林87刁
88徐89邱90高91夏92蔡93田94胡95万
96卢97莫98房99缪100解101丁102邓103洪
104石105崔106吉107邢108陆109翁110储111全
112宫113仇114刘115景116詹117叶118屠119乔
120翟121谭122牛123尚124瞿125冷126沙127竺
用七张卡片,可以编排127个不同的年龄或姓氏(如果用8张卡片,就可以编排255个)。
从《百家姓》中选取127个常见的姓氏,分别与127个数一一对应就得到下面的“数与姓氏对照表”:
1赵
2钱
3孙
4李
5周
6吴
7郑
8王
0000001
0000010
0000011
0000100
0000101
0000110
0000111
0001000
9冯
10陈
11蒋
12沈
13韩
14杨
15朱
16秦
0001101
0001110
0001111
0010000
0000101
0000010
0000011
0000100
17许
18何
19吕
20张
21孔
22曹
23严
24华
0010001
0010010
0010011
0010100
0010101
0010110
0010111
0011000
25金
26魏
27姜
28戚
29谢
30柏
31窦
32苏
0011001
0011010
0011011
0011100
0011101
0011110
0011111
0100000
33潘
34葛
35奚
36范
37彭
38鲁
39马
40花
0100001
0100010
0100011
0100100
0100101
0100110
0100111
0101000
41方
42俞
43任
44袁
45柳
46鲍
47史
48唐
010100
0101010
0101011
0101100
0101101
0101110
0101111
0110000
49费
50薛
51雷
52贺
53倪
54汤
55殷
56罗
0110001
0110010
0110011
0110100
0110101
0110110
0110111
0111000
57郝
58安
59于
60卞
61齐
62余
63顾
64孟
0111001
0111010
0111011
0111100
0111101
0111110
0111111
1000000
65黄
66萧
67尹
68姚
69邵
70汪
71毛
72戴
1000001
1000010
1000011
1000100
1000101
1000110
1000111
1001000
73宋
74茅
75熊
76纪
77祝
78董
79梁
80杜
1001001
1001010
1001011
1001100
1001101
1001110
1001111
1010000
81季
82贾
83江
84郭
85梅
86林
87刁
88徐
1010001
1010010
1010011
1010100
1010101
1010110
1010111
1011000
89邱
90高
91夏
92蔡
93田
94胡
95万
96卢
1011001
1011010
1011011
1011100
1011101
1011110
1011111
1100000
97莫
98房
99缪
100解
101丁
102邓
103洪
104石
1100001
1100010
1100011
1100100
1100101
1100110
1100111
1101000
105崔
106吉
107邢
108陆
109翁
110储
111全
112宫
1101001
1101010
1101011
1101100
1101101
1101110
1101111
1110000
113仇
114刘
115景
116詹
117叶
118屠
119乔
120翟
1110001
1110010
1110011
1110100
1110101
1110110
1110111
1111000
121谭
122牛
123尚
124瞿
125冷
126沙
127竺
1111001
1111010
1111011
1111100
1111101
1111110
1111111
0000000
准备好以上七张卡片,外加这张“数与姓氏对照表”(每个姓氏下边方框中的数,是为了说明问题而加上去的),就可以来表演这个猜年龄和姓氏的魔术了。
先说猜年龄:
这套卡片可以用来猜127岁以内的年龄。
表演者一张一张地出示这七张卡片给某位观众看,只要这位观众一一回答七张卡片上“有”、“无”自己的年龄,表演者就能“猜”出这位观众的年龄。
这种“猜”年龄的方法很简单,表演者只需将观众回答“有”的那几张卡片的左上角的数字加起来,所得的和就是这位观众的年龄。
比如,某位观众对七张卡片的年龄回答如下:
ⅠⅡⅢⅣⅤⅥⅦ
无有有有有无无
表演者只需将Ⅰ、Ⅲ、Ⅴ三张卡片的左上角的数字2、4、8、16加起来,得到的30就是这位观众的年龄。
读者可以验证,30这个数确实只有卡片Ⅱ、Ⅲ、Ⅳ、Ⅴ上才有。
猜姓氏与猜年龄基本相似,只是表演者将观众回答上面“有”他姓氏的那几张卡片的左上角的数字加起来后,还得找出这个和所对应的姓氏。
比如,某位观众对七卡片的姓氏回答如下:
ⅠⅡⅢⅣⅤⅥⅦ
无有有无有无无
表演者只先将Ⅱ、Ⅲ、Ⅴ三张卡片的左上角的数字2、4、16加起来,得到22,再从“数与姓氏对照表”中得到22这个数所对应的姓氏是“曹”,那么这个观众就一定姓“曹”了。
这个魔术,看起来神乎其神,其实原理并非高深莫测。
我们只需有一点二进制数的知识,就能揭示其中的奥秘。
让我们来看卡片的编制方法:
第一步,把1——127这些正整数都转换为二进制数(转换结果参见“数与姓氏对照表”中每个姓氏下边方框里的那些数)。
第二步,把二进制数中20位(从右至左的第1个数位)上是“1”的所有数填入卡片Ⅰ中,把21位(从右至左的第2个数位)上是“1”的所有数填入卡片Ⅱ中,把22位(从右至左的第3个数位)上是“1”的所有数填入卡片Ⅲ中,依次类推。
比如,118这个数转换为二进制数是1110110,它在第2(按从右至左的顺序,下同)、第3、第5、第6、第7个数位上的数都是“1”,我们就把它填入卡片Ⅱ、Ⅲ、Ⅴ、Ⅵ、Ⅶ中;它在第1、第4个数位上的数都是“0”,在卡片Ⅰ、Ⅳ中就不填。
这样,七张卡片分别对应着二进制数中的7个数位。
于是,当某位观众回答表演者哪几张卡片上有无他的年龄时,实际上就等于告诉表演者他的年龄的二进制数哪几位是“1”,哪几位是“0”。
那么,表演者要做的事情就是把这个二进制数转换为十进制数。
比如,某位观众对七卡片的年龄回答如下:
ⅠⅡⅢⅣⅤⅥⅦ
有有有无有有无
那么,实际上他就已经把自己年龄的二进制数0110111告诉表演者了。
把二进制数0110111转换为十进制数:
0110111=0×26+1×25+1×24+0×23+1×22+1×21+1×20
=0+32+16+0+4+2+1=55
但在实际转换时,注意到二进制数的各位2n-1所对应的十进制数已经写在代表这个数位的卡片的左上角了。
因此表演者只需把观众回答“有”的那几张卡片的左上角的数字加起来就行了,即1+2+4+16+32=55。
至于卡片中姓氏的编排,不过是根据事先随意编好的“数与姓氏对照表”,把每个姓氏写在与它对应的数的位置上而已。
最后,顺便指出,表演过程中的“转换”工作,是在对方回答“有”或“无”的同时进行的。
我们只需记住第Ⅰ张有→+1,第Ⅱ张有→+2,第Ⅲ张有→+4,第Ⅳ张有→+8,第Ⅴ张有→+16,第Ⅵ张有→+32,第Ⅶ张有→+64,转换是非常方便的。
另外,如果你打算自己制作另一套纯姓氏卡片的话,那么最好把那些填在卡片上的姓氏的次序打乱,使观众不容易发现填写卡片的“规律”,这样就更能迷惑人。