欢迎来到天天文库
浏览记录
ID:34459182
大小:96.50 KB
页数:5页
时间:2019-03-06
《大学计算机基础--猜姓游戏》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、猜姓游戏 以前,曾在街头上见过一种能够猜出别人“姓”什么的游戏卡片。一套七、八张,外加一张“姓氏对照表”。现在,我们只用六张卡片,把这种游戏的玩法及其原理,介绍给大家。 六张卡片如下,分别标以(5)、(4)、(3)、(2)、(1)、(0)号:(5)姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳鲍史(4)杨朱泰龙许何吕施张孔曾严华金魏陶郎鲁韦昌马苗凤花方俞任袁柳鲍史(3)王冯陈褚卫蒋沈韩张孔曾严华金魏陶章云苏潘葛奚范彭方俞任袁柳鲍史(2)李周关郑卫蒋沈韩讨何吕施华金魏陶俞柏水窦葛奚范彭马苗风花柳鲍史(1)钱孙吴郑陈褚沈韩秦尤吕施曹严魏陶
2、谢邹水窦苏潘范彭韦昌凤花任袁鲍史(0)赵孙周郑冯褚蒋韩朱尤何施孔严金陶戚邹柏窦云潘奚彭鲁昌苗花俞袁史 由于我们只选用了六张卡片,所以只能在卡片中排出63个不同的姓氏(如果用七张卡片,则可以排出127个姓;若用八张卡片,就可以排出255个姓)。把出现在卡片中的63个姓,按它们在《百家姓》中的顺序,依次排列如下: 1234赵钱孙李0000010000100000110001005678周吴郑王0001010001100001110010009101112冯陈褚卫00100100101000101100110013141516蒋沈韩杨001101001
3、11000111101000017181920朱秦尤许01000101001001001101010021222324何吕施张01010101011001011101100025262728孔曹严华01100101101001101101110029303132金魏陶姜01110101111001111110000033343536戚谢邹喻10000110001010001110010037383940柏水窦章10010110011010011110100041424344云苏潘葛10100110101010101110110045464748奚范彭
4、郎10110110111010111111000049505152鲁韦昌马11000111001011001111010053545556苗凤花方11010111011011011111100057585960俞任袁柳111001111010111011111100616263鲍史111101111110111111 这就是那张“姓氏对照表”。其中,每个姓下边的方框中的代号,是我们为了说明问题特意加上去的。 有了这六张卡片和“姓氏对照表”,就可以做猜“姓”游戏了。做游戏时,从(5)——(0)号依次出示在对方面前,只要他一一回答某张卡片上是否有自己
5、的姓。那么,根据他的回答。我们立刻就能断定他的姓。比如:一个人回答,第(5)、第(4)号卡片上有他的姓;第(3)、第(2)号卡片上没有;第(1)号卡片上有;第(0)号卡片上没有。那么,这个人一定是姓“韦”。对此你可以利用上面的卡片先“验证”一下。 这个游戏,看起来似乎很神,其实道理非常简单。我们只需用一点有关数的进位制的知识,就能揭示其全部奥秘。 让我们首先从卡片的制作说起。 事实上,我们是根据“姓氏对照表”来制作卡片的。第一步,把“对照表”中63个姓的序号l—63,“翻译”成二进位制的数。这样,就可以得到上述“姓氏对照表”中,每个姓的下边方框
6、里的那些数。例如:赵,序号1,可化成011011赵,序号1,可化成011011卫,序号12,可化成001100严,序号27,可化成011010水,序号38,可化成101111彭,序号47,可化成101111史,序号63,可化成111111 等等。第二步,把六张卡片分别看作是二进位制中的六个数位,即等六个数位。再让63个姓,根据它们的二进位制的代号,来一个“对号入座”,全部填写到相应的卡片上去。具体的填法如下:(2)号卡片卫水彭史(1)号卡片 严水彭史(0)号卡片赵 严彭史至此,卡片就制成了。 当你了解了卡片的制作方法以后,对这套卡片能够猜出姓氏的
7、道理,就不难理解了。在做游戏时,我们把卡片出示给对方,要他回答这些卡片上是否有自己的姓,实际上就是在“调查”他的姓的二进位制的代号。一旦我们知道了这个代号、那么,只需把这个代号再“翻译”回去,即算出它的十进位制的那个序号,于是,立刻就能根据“姓氏对照表”将他的姓找出来。还是以前面那位姓“韦”的人为例,当他告诉我们:第(5)、第(4)号卡片上“有”他的姓;第(3)、第(2)号卡片上“没有”;第(1)号卡片上“有”;第(0)号卡片上“没有”。那么,事实上,他就已经把自己的姓的二进位制代号110010告诉我们了。接下来的工作,就是再把这个代号“翻译”成十进
8、位制的序号,而这是非常容易做到的,即 这时,在“姓氏对照表”中可以查出,序号50是“韦”,就是这个
此文档下载收益归作者所有