1、 教授的学生一个教授逻辑学的教授,有三个学生,而且三个学生均非常聪明!一天教授给他们出了一个题,教授在每个人脑门上贴了一张纸条并告诉他们,每个人的纸条上都写了一个正整数,且某两个数的和等于第三个!(每个人可以看见另两个数,但看不见自己的)教授问第一个学生:你能猜出自己的数吗?回答:不能,问第二个,不能,第三个,不能,再问第一个,不能,第二个,不能,第三个:我猜出来了,是 144!教授很满意的笑了。请问您能猜出另外两个人的数吗?【解答】经过第一轮,说明任何两个数都是不同的。第二轮,前两个人没有猜出,说明任何一个数都不是其它数的两倍。现在有了以下几个条件:1.每个数大于 02.两两不等 3.任意一
2、个数不是其他数的两倍。每个数字可能是另两个之和或之差,第三个人能猜出 144,必然根据前面三个条件排除了其中的一种可能。假设:是两个数之差,即 xy144。这时 1(x,y0)和 2(x!y)都满足,所以要否定 xy 必然要使 3 不满足,即 xy2y,解得 xy,不成立(不然第一轮就可猜出),所以不是两数之差。因此是两数之和,即xy144。同理,这时 1,2 都满足,必然要使 3 不满足,即 xy2y,两方程联立,可得 x108,y36。这两轮猜的顺序其实分别为这样:第一轮(一号,二号),第二轮(三号,一号,二号)。这样分大家在每轮结束时获得的信息是相同的(即前面的三个条件)。那么就假设我们
3、是 C,来看看 C 是怎么做出来的:C 看到的是 A 的 36 和 B 的 108,因为条件,两个数的和是第三个,那么自己要么是 72 要么是 144(猜到这个是因为 72 的话,108 就是 36 和 72 的和,144 的话就是 108 和 36 的和。这样子这句话看不懂的举手):假设自己(C)是 72 的话,那么 B 在第二回合的时候就可以看出来,下面是如果 C 是72,B 的思路:这种情况下,B 看到的就是 A 的 36 和 C 的 72,那么他就可以猜自己,是 36或者是 108(猜到这个是因为 36 的话,36 加 36 等于 72,108 的话就是 36 和 108 的和):如果
4、假设自己(B)头上是 36,那么,C 在第一回合的时候就可以看出来,下面是如果B 是 36,C 的思路:这种情况下,C 看到的就是 A 的 36 和 B 的 36,那么他就可以猜自己,是 72 或者是 0(这个不再解释了):如果假设自己(C)头上是 0,那么,A 在第一回合的时候就可以看出来,下面是如果C 是 0,A 的思路:这种情况下,A 看到的就是 B 的 36 和 C 的 0,那么他就可以猜自己,是36 或者是 36(这个不再解释了),那他可以一口报出自己头上的 36。(然后是逆推逆推逆推),现在 A 在第一回合没报出自己的 36,C(在 B 的想象中)就可以知道自己头上不是 0,如果其他和 B 的想法一样(指 B 头上是 36),那么 C 在第一回合就可以报出自己的72。现在 C 在第一回合没报出自己的 36,B(在 C 的想象中)就可以知道自己头上不是 36,如果其他和 C 的想法一样(指 C 头上是 72),那么 B 在第二回合就可以报出自己的 108。现在 B 在第二回合没报出自己的 108,C 就可以知道自己头上不是 72,那么 C 头上的唯一可能就是 144 了。