当数学题加上了程序员思想

白鼠试毒问题

    微软有一个面试题:有1000个瓶子,其中999瓶是水,1瓶是毒药,外观气味根本无法分别。现有10只白鼠和无限多的干净试管,你怎么快速找出那瓶毒药?
    这个问题相信大家在学生时期都做过相关的奥数题,现在我们再用一些思维去思考这个问题。


一、直男思维

    在很多女生眼里,程序员大多是直男,直男审美、直男回答等等,那我们这次就用直男的想法回答这个白鼠问题:
    1000瓶,去试出1瓶毒药,我为啥要10只白鼠?1只就够了,每瓶第一滴出来让它慢慢喝,剩下9个以人道主义精神放生,或者为了舌尖上的美食烤了吃了不香吗。

    直男表情包

二、传统数学思想

    这个问题其实拿到手我的第一思想就是二分法,就是所谓的将1000瓶分成左右两个500瓶,每瓶取一滴,混合成一瓶,喂小白鼠一滴 ,确定毒药在哪边,那还剩下9个白鼠,再依法炮制,将500瓶分成两个250,毒死一个白鼠后分成两个125,再毒死一个白鼠后分成62+62+1,再毒死一个后变成32…就这样,如果运气差的话,10只小白鼠1000瓶水刚刚好。
    当然对于这个问题,其实二分法还是慢了&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值