25-28
25
尴尬的准则
有一位聪明的将军,在他所驻守的区域里有一条河通往邻近的敌国。为了避免有间谍偷偷传送情报将本国的机密泄漏给邻国,将军制定了一则过河准则:每一个要过河的人都必须说明自己过河的目的,说实话的人可以过河,说谎话的人要被抓进监狱。
一天,有一名鞋匠来到河边,看守的士兵拦住他,询问:“你到河边来干什么?”
鞋匠回答说:“我是到河边来被抓进监狱的。”
士兵听了不禁愣住了,不知该怎么办,只好向将军报告。
★大显身手★
如果你是那位将军,你会怎么做呢?
按照准则的逻辑推理,如果把鞋匠抓进监狱,就说明鞋匠说的是实话,既然是实话,按照过河准则,就应该让他过河。可是如果让鞋匠过河的话,那么鞋匠就是在说谎,应该被抓进监狱。这样就陷入逻辑的悖论。所以看守的士兵就不知该怎么办了。
但是,这个逻辑推理并非是没有漏洞的。这条准则既然是为过河的人制定的,那么就只适用于过河的人。而这名鞋匠是要过河吗?看起来,他倒更像是来捣乱的,既然不是过河的人那么就不再适用于过河准则,这样,悖论也就不存在了。
26
应聘比尔盖茨的助手
比尔盖茨招聘
助手,应聘者众多,盖茨先生对他们说,我给你们出一道题目,谁最先答出来谁就被录用了。
他随手在桌子上拿起自己的名片,一共拿出了19张,其中8张正面向上。他对应聘者说道:“如果蒙上你的眼睛,而你用手又摸不出名片的正反面。现在要求你把这些名片分成两部分,每一部分下面朝上的名片数都相同,应该怎样做呢?
盖茨先生话音刚落,应聘者中的朱迪站起来说道:“我知道怎样做了。”最终朱迪被录用了,你知道朱迪是怎么做的吗?
★大显身手★
把卡片分成11+8两堆,然后把8张名片那堆反转。
27
剩余的蜡烛
在爱迪生发明出电灯以前,人们在夜晚只能点蜡烛。伊凡和他的伙伴们每天拿着蜡烛聚到一起学习,因为这样会更亮些。
(1)房间里一共点了12支蜡烛,因为有三名伙伴提前结束了学习,他们吹灭了3支蜡烛,那么第二天还有几支蜡烛?
(2)一个星期后,一起学习的伙伴更多了,伊凡和伙伴们学习时一共点了 19 支蜡烛,后来有几名伙伴做完作业走了,他们就吹灭了9支。这时,还剩多少支蜡烛?第二天还有多少支?
★大显身手★
(1)因房间里点了 12 支蜡烛,吹灭
3支,其余 9 支全部烧尽, 所以第二天只剩吹灭的3支蜡烛。
(2)刚吹灭蜡烛时还有 19 支,第二天还有 9 支。
因为当时点着 19 支蜡烛,后来吹灭了9支,那时,继续点着的10支加上吹灭的9支,是 19支。
又因为继续点着的10支,没吹灭,到第二天,烧尽了。所以只剩下之前吹灭的9支。
28
罗伯塔教授的电话号码
**岁高龄的罗伯塔教授独自一人在家,这一天,他忽然中风,他急忙拨打家人电话,可是这时他才想起来他的家人正在飞机上从国外赶回来,绝望之中,他只好往当地警局打电话,希望能得到帮助。警员接起了他的电话,可是罗伯塔教授的面部肌肉完全不受控制,他一句话也说不出来,只得无奈地敲击话筒让对方知道电话这边有人,并不是一个恶作剧电话。
所幸接电话的是一名经验丰富的警官维尔文先生,他察觉出异常,便试探着问道:“您好,您是想告诉我们您那里出现了什么特殊情况,是吗?”
罗伯塔教授喜出望外,赶忙再次敲击话筒。
维尔文警官猜想,这个区域有很多老年人单独在家,这很可能是独居的老人出现了什么特殊情况,说不出话来,也许是中风,甚至可
能是突发心脏病。只有尽快弄清楚对方的地址才能赶过去给予帮助。可是对方又说不出话来,怎么办呢?
突然,维尔文警官灵机一动,对他说:“我需要知道您的电话号码以便查到您的地址,现在我向您问问题,您敲击一下话筒,表示‘是’;敲击两下,表示‘不是’,好吗?”
对方迟疑了一下,不过还是敲击了一下话筒,表示同意。
这是一座有着几百万人口的城市,电话号码有七位数。维尔文警官想要确定对方的电话号码,需要问多少次啊。可是,维尔文警官确信自己最多只要问24次问题,就能知道对方的电话号码。
维尔文警官的第一个问题是:“您的电话号码大于5000000吗?”
罗伯塔教授敲击了一下话筒,表示是的。
“您的电话号码大于7500000吗?”维尔文警官接着问道。
又传来一下敲击声。
★大显身手★
请继续提最多22个问题,确定出罗伯塔教授的电话号码。
罗伯塔教授的电话号码是7位数,那么这个数字一定在1000000与9999999之间。
维尔文警官知道罗伯塔教授只能用敲击话筒给出回应时,便想到最好的沟通方法就是只需要对方回答是或不是。
维尔文警官的办法
是:取1000000与9999999中间的数即5000000,然后问对方的电话号码是否大于5000000,这样就可以确定彼得先生的这个电话号码是在1000000与5000000之间,还是在5000000与9999999之间了。在得到回答后,不断重复上述步骤,如:您的电话号码是在7500000与9999999之间吗?您的电话号码是在8750000与9999999之间吗?如此每次都取上一个范围的中间数来提问,问24次就可以得到要找的电话号码,因为2的24次方=16777216,它大于七位数中最大的一个数9999999。
……
第18次提问:这个数大于9360750吗?不是
第19次提问:这个数大于9360725吗?不是
第20次提问:这个数大于9360712吗?不是第21次提问:这个数大于9360706吗?不是
第22次提问:这个数大于9360703吗?不是
第23次提问:这个数大于9360702吗?不是
第24次提问:这个数大于9360701吗?是的
由此就可以查得电话号码是9360702。萨利先生一共只问了24个问题。