面试中可能会问到的智力题!

dotNET全栈开发

共 1768字,需浏览 4分钟

 ·

2020-12-28 01:08

今天面鲸给大家带来两道面试中经常考的智力题。在面试的过程中除了考察计算机基础知识、算法能力外,一些高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号。
据说点赞的人都拿到了offer


回复 【小程序】获取15套小程序源码【学习+实战+赚钱】
回复 【关闭】学关闭微信朋友圈广告
回复 【实战】获取20套实战源码
回复 【福利】获取最新微信支付有奖励
回复 【被删】学查看你哪个好友删除了你巧
回复 【访客】学微信查看朋友圈访客记录
回复 【python】学微获取全套0基础Python知识手册

卧槽,又来一个神奇的网站!


GitHub上这个微信防撤回的开源项目,99%的程序员不知道


浏览 26
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报