25-28(2 / 2)

出异常,便试探着问道:“您好,您是想告诉我们您那里出现了什么特殊情况,是吗?”

罗伯塔教授喜出望外,赶忙再次敲击话筒。

维尔文警官猜想,这个区域有很多老年人单独在家,这很可能是独居的老人出现了什么特殊情况,说不出话来,也许是中风,甚至可

能是突发心脏病。只有尽快弄清楚对方的地址才能赶过去给予帮助。可是对方又说不出话来,怎么办呢?

突然,维尔文警官灵机一动,对他说:“我需要知道您的电话号码以便查到您的地址,现在我向您问问题,您敲击一下话筒,表示‘是’;敲击两下,表示‘不是’,好吗?”

对方迟疑了一下,不过还是敲击了一下话筒,表示同意。

这是一座有着几百万人口的城市,电话号码有七位数。维尔文警官想要确定对方的电话号码,需要问多少次啊。可是,维尔文警官确信自己最多只要问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个问题。

最新小说: 公子他鬼灵精怪 海贼:绝世剑仙 王者:140段通天边,震惊全网 被遗忘的古神 生存游戏:开局你让我小船求生? 花御 历史探查局 参加诡异节目,全网求我别死 丰华传 穿越古代,我要躺平