【春节特辑】神奇的二进制
16lz
2021-01-22
问题一
有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有 1 瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?
解法
首先将这 1000 个瓶子进行编号:1 , 2 , 3 , 4 , 5 , 6 … 1000
然后将所有的小白鼠进行排列组合,组成一个 二进制 队列的形式:
0 代表不喝
1 代表喝
比如:
0000000001 代表第 1 瓶水被喝情况
0000000010 代表第 2 瓶水被喝情况
0000000011 代表第 3 瓶水被喝情况
0000000100 代表第 4 瓶水被喝情况
。
。
。
1111101000 代表第 1000 瓶水被喝情况
二进制小老鼠
全部 ©著作权归作者所有:来自51CTO博客作者mb5fe18fab305a5的原创作品,如需转载,请注明出处,否则将追究法律责任
更多相关文章
- 我用python掐指一算,2020高考分数和录取情况可能是这样
- 怎么循环查看php-fpm的内存占用情况
- PHP获取不到SESSION信息之一般情况解决方案
- @Transactional 注解哪些情况下会失效?
- 别在不知道临时死区的情况下使用 JavaScript 变量[每日前端夜话0
- 在不触发hashchange事件的情况下更改哈希
- 在没有重新设置源选项的情况下,使用x-editable更改select2的数据
- jQuery Mobile,在不使用data-position =“fixed”的情况下将页脚
- Web App可以在不刷新页面的情况下最好地添加,删除和编辑行