我的账户
连城便民网

自媒体资讯干货

亲爱的游客,欢迎!

已有账号,请

立即登录

如尚未注册?

加入我们
  • 客服电话
    点击联系客服

    在线时间:8:00-16:00

    客服电话

    400-000-0000

    电子邮件

    xjubao@163.com
  • APP下载

    连城便民网APP

    随时随地掌握行业动态

  • 官方微信

    扫描二维码

    关注连城便民网公众号

连城便民网 网站首页 资讯列表 资讯内容

微软面试题:1000个瓶子,999瓶是水,1瓶是毒药,怎么找出那瓶毒药?

2022-09-11 发布于 连城便民网
CXM http://www.cxm-yyds.com

微软面试题,有1000个瓶子,其中999瓶是水,1瓶是毒药,外观无法区别。现有10只小白鼠和无限多干净试管,怎么找出那瓶毒药?

用混检的方法即可实现:1、1000个分两组(500/组):会死一只老鼠2、剩余分两组(250/组):会死一只老鼠3、125/组:死一只4、62.5/组:死一只5、31.25/组死一只6、15.6/组死一只7、7.8/组死一只8、3.9/组死一只9、1.9/组死一只10、第十次刚好验证出有毒的瓶子

但我觉得这种类似穷举的算法不够优雅,各位大神还有何高见?

网友:为何要十次,三到四次即可。把1000只分十份,每份100只取样混合给十只老鼠吃,死一只老鼠确定100瓶,再分十份给九只老鼠吃,再死一只确定十瓶,再分十组给八只老鼠吃,确定一瓶或二瓶。死到四只老鼠就行了。

网友:这题考一个,算法,逻辑!可以有很多种解法,要问清楚,1000瓶子是多大容量,一只小白鼠有多大,能喝多少水,有没有时间要求,小白鼠死几只?等等⋯!这样才是一个合格的程序员。

网友:分成11份,10份90瓶,1份100瓶,前10份给10只老鼠喝,死了就在90瓶里,没死就在100瓶里,然后继续按这个方法,最多3次,优点在于运气好时一只老鼠都不用死。

1

鲜花
1

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

相关阅读

  • 连城便民网
    1970-01-01
  • 连城便民网
    1970-01-01
  • 连城便民网
    1970-01-01
  • 连城便民网
    1970-01-01
  • 连城便民网
    1970-01-01
  • 连城便民网
    1970-01-01
连城便民网

扫一扫二维码关注我们Get最新资讯

相关分类
热点推荐
关注我们
连城便民网与您同行

客服电话:400-000-0000

客服邮箱:xjubao@163.com

周一至周五 9:00-18:00

连城便民网 版权所有

Powered by 连城便民网 X1.0@ 2015-2020