面试中可能会问到的智力题!
❝今天面鲸给大家带来两道面试中经常考的智力题。在面试的过程中除了考察计算机基础知识、算法能力外,一些高level的人还喜欢考一些智力题,并通过观察候选人的反应水平来判断聪明程度,这个时候可不能掉链子呀~
❞
飞机加油问题
问题描述
已知每个飞机只有一个油箱,飞机之间可以相互加油,注意是相互,没有加油机,一箱油可供一架飞机绕地球飞半圈。
问题:为了使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?并且要求,所有飞机从同一飞机场起飞,而且必须安全返回,不允许中途降落,中间没有飞机场。
解答
至少需要3架飞机飞5次。 三架飞机同时从机场O起飞,方向为顺时针,此时三架飞机的油量分别是:A: 1, B: 1, C: 1。 当A飞行至半圈的1/4位置时,此时飞机的油量分别是:A: 3/4, B: 3/4, C: 3/4。此时C分别给A和B加满油,三架飞机当前油量分别是:A: 1, B: 1, C: 1/4。C返回机场。A、B继续向前飞行。 当A飞行至半圈的1/2位置时,此时C已经返回机场,三家飞机此时油量分别是:A: 3/4, B: 3/4, C: 0。此时B给A加满油,C加满油,此时三架飞机的油量分别是:A: 1, B: 1/2, C: 1。然后B返回机场,A继续向前飞行。 当A飞行至半圈位置时,B已经返回机场并且加满了油(假设加油时间为0),此时,B和C沿逆时针方向飞行,三架飞机当前油量分别是:A: 1/2, B: 1, C: 1。A继续向前飞行。 当A飞行至另外半圈的1/4位置时,三架飞机剩余油量分别是:A: 1/4, B: 3/4, C: 3/4。此时,C给B加满油。此时三架飞机油量分别是:A: 1/4, B: 1, C: 1/2。C返回机场,B和A继续向前飞行。 当A飞行至另外半圈的1/2位置时,C已经返回机场,A和B相遇,此时三架飞机剩余油量分别是:A: 0, B: 3/4, C: 0。B给A加1/4的油,三架飞机剩余油量:A: 1/4, B: 1/2, C: 1。C加满油从机场逆时针飞出,B返回机场,A继续向前飞行。 当A飞行至另外半圈的3/4位置时,A和C相遇。此时三架飞机的油量分别是:A: 0, B: 1/4, C: 3/4。C给A加1/4的油,此时三架飞机的油量分别是:A: 1/4, B: 1/4, C: 1/2。C掉头返回机场,A和B继续向前飞行。 三架飞机顺利回到机场!
药水与老鼠
问题描述
有1000个一模一样的瓶子,其中有999瓶是普通的水,有1瓶是毒药。任何喝下毒药的生命都会在一星期之后死亡。现在你只有10只小白鼠和1个星期的时间,如何检验出哪个瓶子有毒药?
解答
当然你可以选择将10只老鼠剁成馅儿,分别放到1000个瓶子中,每个瓶子倒入适量的药水,放它个一个礼拜看看哪个没有腐烂或者长蛆。。 其实看到10和1000,他们之间有种关系,2^10=1024,也就是说1000个瓶子正好可以用10位二进制整数表示。从第一个开始 第1瓶:00 0000 0001 第2瓶:00 0000 0010 第3瓶:00 0000 0011 ... 第1000瓶:11 1110 1000 然后你可以拿这些药水喂那10只老鼠。比如第3瓶标号为00 0000 0011,那么就把第三瓶喂给第1和第2只老鼠,以此类推。最后观察一下哪些老鼠死掉了。比如死掉的老鼠是1 3 6 7 10这五只,那其实可以得到这瓶毒药对应的标号为10 0110 0101,转化为十进制为 613号。
卧槽,又来一个神奇的网站!
GitHub上这个微信防撤回的开源项目,99%的程序员不知道
评论