今天偶然看到一道微软的笔试题,挺简单的,觉得有点意思就分享一下。
烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?
首先我们要看到一点:不均匀的绳 。说明绳子每一小段燃烧的时间是不相同的,所以那些说什么烧一半什么的肯定是不行的!那要怎样才能达到计时一小时十五分钟的效果呢?假如要是同时点燃绳子两端,我们不就可以计时半个钟头了吗,所以我们要从这找方法。假如一小时十五分钟分为一小时加十五分钟两次来实现,显然行不通的。那要是半小时+半小时+十五分钟呢?上面说了,半小时可以通过点燃两端来实现,那15分钟呢?
现在我们来拿两根绳子,第一根绳子两端全部点燃,第二根绳子点燃一端。等第一根绳子全部烧完就计时了半个钟头,第二根绳子就烧完一半了,再把另一端也点燃,那第二根绳子烧完就又计时了15分钟。现在我们可以知道已经计时了45分钟了,我想剩下来的半个钟头大家都懂了吧。
(想必大部分人都知道,我就当纯属练练打字吧)