有一副牌52张,编号1到52。初始状态是1到52自下而上。现在开始洗牌。假如我洗牌技术一流,每次都均分成26/26两手,而且每次洗下来都左右各一张相间而下。这样,第一次洗后的状态是:1,27,2,28,3,29,……26,52。
问:洗几次后又回到初始状态1,2,3,4,……51,
答案:假设原来排在第x张的牌经过一次洗牌后排在第y张,由题干可知:
当x≤26时,y=2x-1;当x≥27时,y=2x-52。
跟踪每一张牌在各次洗牌后的位置,可以发现:
原来的第1、第52的两张牌位置是一直不变的;原来的第18、第35的两张牌不停互换位置;其余的48张牌以8张为一组,各自在组内以8次洗牌为一个循环。
所以洗8次牌后回到初始状态。
取火柴【中级】
有3000根火柴,甲、乙两人轮流取火柴。甲先取,每次只允许取出1根或2的K次方(K为自然数)根火柴,谁取得最后一根火柴就谁胜。这个游戏最终谁将获胜?为什么?
答案:乙获胜。
因为3000不是2的K次方,所以甲不能一次全部取走。而1或者2的K次方都不是3的倍数,所以第一次甲取完火柴后,剩下的火柴数目必然不是3的倍数。乙取火柴的策略就是,每次甲取完火柴后,乙取1根或2根,使得剩下的火柴数目是3的倍数。这样,最后剩下3根火柴时,无论甲取1根还是2根,乙都能取到最后一根火柴。
红色的还是白色的【高级】
有一群人围坐在一起,为了便于分析,假定只有4人(这与人数多少无关,可作同样分析)。每个人头戴一顶帽子,帽子有红色和白色两种,每个人看不到自己帽子的颜色,但能看到别人帽子的颜色。因此,此时他不能判定出自己头上的帽子的颜色。
为了分析的方便,我们假定这4个人均戴的是红色的帽子。这时候,一个局外人来到他们的群体当中,对他们说:“你们其中至少一位头戴的是红色的帽子。“当他说了这句话后,他问:“你们知道你们头上的帽子的颜色吗?“4个人都说:“不知道。“这个局外人第二次问:“你们知道你们头上的帽子的颜色吗?“4个人又都说:“不知道。“局外人第三次问:“你们知道你们头上的帽子的颜色吗?“4个人又说:“不知道。“局外人又问第四次:“你们知道你们头上的帽子的颜色吗?“这时4个人均说:“知道了!“你知道这是为什么吗答案:当局外人未宣布”至少一个人戴的是红帽子“时,这个事实其实每个人都知道了,因为每个人看到其他3个人的帽子都是红色的,但每个人不知道其他人是否知道这个事实,即这个事实没有成为公共知识。而当这个局外人宣布了之后,”至少一个人帽子是红色的“便成了公共知识。此时不仅每个人知道”至少一个人的帽子是红色的”,每个人还知道其他人知道他知道这个事实……局外人第一次问时,由于每个人面对的其他3个人都是红色的帽子,每个人当然不能肯定自己头上的帽子是什么颜色,于是均回答”不知道“此时,如果只有1个人戴红色的帽子,那么这个人因面对3个白色的帽子,他肯定知道自己的帽子颜色。因此,当4个人均回答”不知道“时意味着”至少有2人戴的是红色的帽子”,而且这也是公共知识。
当局外人第二次问时,如果只有2人戴的是红色的帽子,这2人就会回答说”知道“因为他们各自面对的是1个戴红色帽子的人。由于每个人面对的是不止一个戴红色帽子的人,因此当局外人第二次问时,他们只能回答”不知道“此时的”不知道“意味着”至少3个人戴红色的帽子“并且它成为公共知识。
同样,局外人第三次问时,他们均回答”不知道“意味着4个人均戴的是红色的帽子。因此,当局外人第四次问时,他们就知道每个人头上均戴的是红色的帽子,于是,他们回答”知道”
在这个过程中,当局外人首先宣布”其中至少一个人的帽子是红色的“以及第二、第三、第四次回答的时候,无论是回答”知道“还是”不知道“它们构成公共知识构成所有人推理的前提,在这个过程中,每个人均在推理。这就是”帽子的颜色问题”。
精灵的语言【高级】
有甲、乙、丙三个精灵,其中一个只说真话,另外一个只说假话,还有一个随机地决定何时说真话,何时说假话。你可以向这三个精灵发问三条是非题,而你的任务是从他们的答案:找出谁说真话、谁说假话、谁是随机答话。你每次可选择任何一个精灵问话,问的问题可以取决于上一题的答案:这个难题困难的地方是这些精灵会以”Da“或”Ja“回答,但你并不知道它们的意思,只知道其中一个字代表”对”,另外一个字代表”错你应该问哪三个问题呢?
答案:向A问第一个问题:
如果我问你以下两个问题:“Da表示对吗“和”如果我问你以下两个问题:你说真话吗和B随机答话吗,你的回答是一样的,对吗”,你的回答是一样的,对吗如果A说真话或说假话并且回答是Da,那么B是随机答话的,从而C是说真话或说假话;如果A是说真话或说假话并且回答是Ja,那么B不是随机答话的,从而B是说真话或说假话;如果A是随机答话的,那么B和C都不是随机答话的所以无论A是谁,如果他的答案:是Da,C说真话或说假话;如果他的答案:是Ja,B说真话或说假话。
不妨设B是说真话或说假话。
向B问第二个问题:
如果我问你以下两个问题:“Da表示对吗“和”罗马在意大利吗”,你的回答是一样的,对吗如果B是说真话的,他会回答Da;如果B是说假话的,他会回答Ja。从而我们可以确认B是说真话的还是说假话的。
向B问第三个问题:
如果我问你以下两个问题:“Da表示对吗“和”A是随机回答吗”,你的回答是一样的,对吗假设B是说真话的,如果他的回答是Da,那么A是随机回答的,从而C是说假话的;如果他的回答是Ja,那么C是随机回答的,从而A是说假话的。
假设B是说假话的,如果他的回答是Da,那么A是不是随机回答的,从而C是随机回答,A是说真话的;如果他的回答是Ja,那么A是随机回答的,从而C是说真话的。
村口的一排树【高级】
在一个偏僻的山里,有一个村庄。村里有100家住户。每家住户都有一个还没有结婚的孩子。
在这个村里已经形成了一个奇特的风俗。孩子的父母如果发现自己的孩子恋爱的话,就要在当天去村口种一棵树为孩子许愿。当然,父母必须有确切的证据来证明自己的孩子恋爱了。由于害羞,孩子不会主动告诉父母自己恋爱了。其他村民发现某家孩子恋爱了也不会告诉那个孩子的父母,但会在村子里相互传递这一信息,因此,一个孩子恋爱后,除了其父母不知道外,其他村民都知道。
而事实上是,村子里的这100家住户的孩子都恋爱了,但由于村民不会把知道的事实告诉恋爱孩子的父母,因此没有人去村口种树。
村子里有一个辈分很高的老太太,她德高望重,诚实可敬。每个人都向她汇报村里的情况,因此她对村里的情况了如指掌,她知道每个孩子都恋爱了,当然,其他村民不知道她所知道的。
一天,这位老人说了一句很平常的话:“你们的孩子当中至少有一个已经恋爱了。“于是,村里发生了这样一个事情:前99天,村里风平浪静,但到了第100天,所有的父母都去村口种树了。
为什么会这样呢答案:在老太太作了宣布之后的第一天,如果村里只有一个孩子恋爱的话,这个孩子的父母在老太太宣布之后就能知道。因为,如果其他孩子恋爱的话,她应当事先知道,既然不知道并且至少有一个孩子恋爱,那么肯定是自己的孩子了。因此,村里如果只有一个孩子恋爱的话,老太太宣布之后,当天这个孩子的父母就会去村口种树。
如果村里有两个孩子恋爱,这两个孩子的父母第一天都不会怀疑到自己的孩子,因为他们知道另外一个孩子恋爱了。但是当第一天过后他们发现那孩子的父母没去村口种树,那么他们会想,肯定有两个孩子恋爱了,否则他们知道的那个恋爱孩子的父母在第一天就会去种树的。既然有两个孩子恋爱了,但他们只知道一个,那么另一个肯定是自己的孩子了。
事实上这个村子里的100个孩子都恋爱了,那么,这样推理会继续到第99天,就是说,前99天每个父母都没怀疑到自己的孩子恋爱了,而当第100天的时候,每个父母都确定地推理出自己孩子恋爱了,于是都去村口种树了。
这里,在老太太宣布”至少一个孩子恋爱了“这样一个事实时,每个父母其实都知道这个事实(村子里的规则他们也知道),老太太对这个事实的宣布似乎并没有增加这些村民的知识关于村里孩子恋爱的知识。但为什么老太太的宣布使得村里的父母都去种树了呢?这是因为,老太太的宣布使得这个群体里的知识结构发生了变化,本来”至少一个孩子恋爱了“对每个村民都是知识,但不是公共知识,而老太太的宣布使得这个事实成为公共知识。
所谓公共知识是指,一个群体的每个人不仅知道这个事实,而且每个人知道该群体的其他人知道这个事实,并且其他人也知道其他的每个人都知道这个事实……这涉及一个无穷的知道过程。
在上述例子中,老太太未宣布之前,对村子里的村民来说,”至少一个孩子恋爱了“不是一个公共知识。设想一下,假定共有3个村民A、B、C,那么在未宣布之前,A想:由于自己不知道自己的孩子恋爱了,其他两个女人B、C也同样不知道,那么A想B不知道C是否知道”至少有一个孩子恋爱了“而当老太太宣布了”至少一个孩子恋爱了“之后,”至少一个孩子恋爱了“便成了A、B、C之间的公共知识。
在这个100家住户组成的小村里,老太太的宣布使得”至少一个孩子恋爱了“成了公共知识。于是,推理与行动便开始了。这是第100天的时候一起种树的原因。
猜数字【高级】
老师从1~80之间(大于1小于80)选了两个自然数,将二者之积告诉同学P,二者之和告诉同学S,然后他问两位同学能否推出这两个自然数分别是多少。
说:我知道P肯定不知道这两个数。
说:那么我知道了。
说:那么我也知道了其他同学:我们也知道啦……通过这些对话,你能猜到老师选出的两个自然数是什么吗答案:说话依次编号为S1,P1,S2。
设这两个数为x、y,和为s,积为p。
由S1,P不知道这两个数,所以s不可能是两个质数相加得来的,而且s≤41。因为如果s>41,那么P拿到41×(s-41)必定可以猜出s了。所以s为{11,17,23,27,29,35,37,41}之一,设这个集合为A。
(1)假设和是11。11=2+9=3+8=4+7=5+6,如果P拿到18,18=3×6=2×9,只有2+9落在集合A中,所以P可以说出P1,但是这时候S能不能说出S2呢?我们来看,如果P拿到24,24=6×4=3×8=2×12,P同样可以说P1,因为至少有两种情况P都可以说出P1,所以A就无法断言S2,所以和不是11。
(2)假设和是17。17=2+15=3+14=4+13=5+12=6+11=7+10=8+9,很明显,由于P拿到4×13可以断言P1,而其他情况,P都无法断言P1,所以和是17。
(3)假设和是23。23=2+21=3+20=4+19=5+18=6+17=7+16=8+15=9+14=10+13=11+12,我们先考虑含有2的n次幂或者含有大质数的那些组,如果P、S分别拿到4,19或7,16,那么P都可以断言P1,所以和不是23。
(4)假设和是27。如果P、S拿到8,19或4,23,那么P都可以断言P1,所以和不是27。
(5)假设和是29。如果P、S拿到13,16或7,22,那么P都可以断言P1,所以和不是29。
(6)假设和是35。如果P、S拿到16,19或4,31,那么P都可以断言P1,所以和不是35。
(7)假设和是37。如果P、S拿到8,29或11,26,那么P都可以断言P1,所以和不是37。