网上流传的微软面试逻辑题分析

                        杀父问题

   在一个村庄中,50对夫妇中的每一个丈夫都曾经不忠于妻子.一旦某个男人与别的女人有染,村子里的女人(除了这个男人的妻子,因为大家都瞒着她)立刻就知道了(村子很小).村里规定对通奸行为的严厉处罚是通奸男人的妻子必须在当天亲手杀死自己的丈夫.所有的女人都愿意遵守这条法律.问题是:有一天永无过失的女王来到了这个村庄,她宣布村子里至少有一个丈夫曾经不忠于妻子,大家都认为女王不会出错.请问接下来将会发生什么事情?

       先让我们看看女王宣布前村子里面的情况.每一个男人都曾经背叛妻子,对村子里通奸行为都心知肚明的妇女们按照法律规定应该杀死自己不忠诚的丈夫,那么,为什么每个妇女都没有杀死自己的丈夫呢?

       问题是每个妻子都不知道自己的丈夫背叛过自己.每一个妇女对其余49个男人的通奸行为都了如指掌,但是对自己的丈夫的行为却一无所知.没有人把这样的事情告诉当事者的妻子.

       第一天,女王宣布肯定有一个丈夫曾经不忠实于妻子.女王的宣布会改变目前的状况吗?    不会! 至少有一个丈夫通奸?妇女们会在脑海里一一列出49个通奸丈夫的名字,而惟独没有自己丈夫的名字.女王的宣布并没有把大家以前本来就不知道的东西告诉给大家.

       所以,在第一天,什么也不会发生,第二天亦如此,接下来的一天也没有发生什么事.

       让我们跳到第49.我们以一个具体的妇女-----埃得娜来说明问题. 埃得娜知道有49个背叛妻子的男人,其中有一位叫马克斯,是埃得娜的好朋友莫妮卡的丈夫.并且埃得娜会认为莫妮卡至少知道48个通奸的丈夫(除了马克斯),实际上莫妮卡知道49(埃得娜的丈夫的好事莫妮卡是知道的,而埃得娜不可能知道).

       如果村子里真的只有一个曾经偷情的丈夫,那么在第一天,也就是女王宣布的当天就会被自己的妻子杀掉.因为在这种情况下,每一个女人都知道这个男人曾经通奸,而只有他的妻子不知情,他妻子也非常清楚别的男人都没有做过这种丑事.这样女王所说的 至少一个通奸的男人就肯定是自己的丈夫了,因此这位妻子就会按照法律的要求杀死自己的丈夫.如果是这样的话,村子里曾经通奸的男人就只有这一个.

       第二天已经来临,但还没有一个丈夫被杀死.这样所有的人都会得知村子里并不只有一个通奸的男人.这一点加上女王的永远正确性”,证明村子里至少有两个曾经通奸的男人.

       如果真的只有两个通奸者,那么他们的妻子会在第二天就把他们杀死.如果有3个偷情的男人,那么他们的妻子在第三天就会把他们杀死,以此类推,如果有49个偷情的男人,那么这49个男人的妻子就会在第49天把他们杀死.

       现在是第49,至少知道48个通奸丈夫的莫妮卡一定会大感迷惑,为什么在前一天这些妻子们没有进行一场大屠杀呢?唯一可能的解释是(这也是埃得娜对莫妮卡的分析), 莫妮卡的丈夫一定是第49个通奸者.

       因此埃得娜会推断, 莫妮卡会在第49天的午夜杀死马克斯. 埃得娜对村子里其他的所有女人也会有相同的推断..

       然而第50天来临了,仍然什么事情都没有发生,唯一可能的解释是,现在莫妮卡(以及所有其他女人)终于搞清楚了第50个通奸的男人正是自己的丈夫.

因此这个问题的答案就是在第49天什么事也没有发生,但是在第50,50个妻子都会杀死自己的丈夫

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值