找毒酒
来源:互联网 发布:linux matlab 兼容 编辑:程序博客网 时间:2024/06/02 16:53
上次从家里回学校,火车上一码农问的一个问题
题目描述如下:
某产酒公司生产了一批酒,1000瓶,但是不法分子在某瓶酒里下了毒,喝了毒酒的东西将在2小时候毒发,所幸酒还没有封装,于是,管理员弄来了十只小白鼠试酒,你知道他会如何找到那瓶毒酒吗?
我当时就想啊想,最简单的方法应该就是一只老鼠尝试100瓶了,但这太耗时间,于是,我就没说出来,然后就到学校了。
现在给出我的想法:
既然只有一瓶毒酒,那我们就可以把所有的酒唯一编号,1~1000,这显然是没什么特殊含义的,我就反复的想,10,1000,10,1000。。。。。。终于,2^10=1024,而只有一瓶毒酒,那么,就出来了
老鼠编号分别1~10,把酒的编号1~1000转化成二进制,每瓶酒,让其二进制为1的那几只老鼠喝,那么,最后死的那几只老鼠为1,没死的为0组成的数字就是那瓶毒酒的编号。
好,来举个例子:
第一瓶酒:00000 00001 让第一只老鼠喝;
第二瓶酒:00000 00010 让第二只喝
……
第五十瓶:00001 10010让第二、五、六只老鼠喝
……
好了,就这样可以找到那瓶毒酒了,耗时2小时
- 找毒酒
- 【逻辑】500桶酒,其中1桶是毒酒,找毒酒
- 毒酒问题
- 毒酒问题
- 二进制数法找毒酒
- 毒酒老鼠问题
- 1000桶酒中含两桶毒酒问题
- 毒酒问题binary search
- 老鼠与毒酒
- 可举毒白钙毒酒诰驼诜炊负车房业
- 1000桶毒酒问题
- 老鼠喝毒酒
- 千杯毒酒
- 一道著名的毒酒问题
- 找
- 找
- 找
- 1000桶酒中寻找一桶毒酒算法
- 转载和积累系列 - Node学习 - 3. 模块
- Android教程之Android自带的语音识别例子初探
- WebGoat——CSRF
- Linux守护进程
- 《匆匆那年》-第一卷 不忘
- 找毒酒
- CString ->string 转换
- C++ char wchar_t转换函数接口
- C# class Struct
- 学习android编译的好地方!!
- GLSL 高级教程 – Primitive Assembly
- MD5 BASE 64
- openssl简介-指令x509
- fastreport.net每页合计