今天看到一则新闻称一位新加坡人江坚文在twitter发了一道新加坡中学数学题,得到2000个赞,6000个转发,难道一片人。然后各大媒体如纽约时报,还登出《新加坡数学题大热:谢丽尔的生日是哪天?》,BBC的是《谢丽尔的生日:新加坡数学题难住世界》等等。然后那些转发的网友说:加谢丽尔,然后知道其生日,或者说告诉谢丽尔,不说出生日就没蛋糕。。。
原文如下图所示:
翻译:
阿尔伯特和伯纳德刚刚和谢丽尔成为朋友。他们想知道她的生日是哪天。谢丽尔给了他们10个日期,其中有一个是正确的: 5月15日,5月16日,5月19日 6月17日,6月18日 7月14日,7月16日 8月14日,8月15日,8月17日 谢丽尔分别把自己的出生月份和日期告诉了阿尔伯特和伯纳德。 阿尔伯特:我不知道谢丽尔的生日是哪天,不过我知道伯纳德也不知道。 伯纳德:一开始我不知道谢丽尔的生日是哪天,但是现在我知道了。 阿尔伯特:我也知道了。
有这么难吗?
下面按照程序人员一般编程的逻辑去分析。
首先月份有4种可能(5月、6月、7月、8月),日子有6种可能(14日、15日、16日、17日、18日、19日)。共10种组合。
由于只知月份的阿尔伯特先开口,因此先逐一对月份进行判断:
一:若是5月,不符合,因为日子有可能是19日,此时伯纳德若得知日子是19日,则他无需其它条件即知生日是5月19日,因为只有一个日期是19日。这样若月份为5月立即违反了阿尔伯特的第一句话他不知谢丽尔的生日是哪天同时肯定伯纳德也不知道,因此排除5月。
二:若是6月,不符合,和5月一样,18日是只有一个6月18日,这样一来伯纳德无需阿尔伯特开口即知道日期是6月18日了。因此排除6月。
三:若是7月,符合。7月14日和8月14日,7月16日和5月16日,这个月份的日子都和其它月份的有重复,伯纳德无法从日子判定日期是多少。
四:若是8月,符合。8月14日和7月14日,8月15日和5月15日,8月17日和6月17日,8月的三个日子都和其它月份的有重复,伯纳德单知日子肯定也判定不了日期是多少。
然后,只知日子的伯纳德开口了,因此开始对日子逐一进行判断,此时要记住,由于有了阿尔伯特的第一句话,5月和6月已经排除了,日子只剩下14日,15日,16日,17日。
一:若是14日,不符合。因为7月的14日和8月的14日都符合阿尔伯特第一句话,伯纳德无法在阿尔伯特的第一句话前提下,单知14日就判断究竟是7月还是8月。这样就违反了伯纳德说的一开始我不知道谢丽尔生日,但现在我知道了,因为此时他仍然分不清是7月14日还是8月14日。
二:若是15日,符合。因为排除了5月了,所以只剩下8月15日,此时伯纳德可以单从15日即知生日。
三:若是16日,符合。因为排除了5月了,所以只剩下7月16日,此时伯纳德可以单从16日即知生日。
四:若是17日,符合。因为排除了6月了,所以只剩下8月17日,此时伯纳德可以单从17日即知生日。
最后,在伯纳德的说话前提下,对8月15日、7月16日、8月17日三个日期套阿尔伯特的最后一句话:
一:若是7月,符合。因为此时在伯纳德的说话前提下,阿尔伯特若知道的月份是7月,则只有7月16日可选,因此他说:我也知道了。
二:若是8月,不符合。因为即使此时在伯纳德的说话前提下,有两个日期(8月15日和8月17日)符合条件,阿尔伯特不能从他知道的8月份的条件下作出具体哪天的判断,违反了他最后说的那句话我也知道了。
综上所述,谢丽尔的生日就是7月16日,这样才符合给出的条件和对话。
真的难倒了那么多人吗?其实只要对各个条件进行判断,然后再用排除法逐个排除,即可。对重逻辑的人来说,按照条件来分析应该都是可以分析得出。
西方的某硕士花了一些时间,才破解这道题。然后媒体上说西方数学能力普遍低于亚洲。
其实中国的脑筋急转弯或者IQ题,要么是天朝的行测题,其实有很多也是这种类型的,只是主角不叫“谢丽尔”,而叫“小明”。
可能我们从小习惯做这类题,耳濡目染之下都不当会事了,没想到这类题会难道西方一片,大媒体还大登特登。。。
不过,也可以理解为沟通的领悟问题,一方说出一个条件后,另一方能马上理会意思,判断出一些信息。比如说阿尔伯特说了第一句话后,在伯纳德听来相当于肯定不是5月和6月了,由于他知道是16号,因此他说他知道了。而阿尔伯特马上从伯纳德的知道日期这个信息中,马上排除掉8月,也领悟到生日日期是7月16号。
不过这神一般的对话,神一般的沟通,神一般的领悟,也不是普通人一时半会就适应学会的。。。