15只瓶子,四只老鼠算法题分析

iOS开发_小迷糊 的文章《IOS 中级开发,鹅厂面试全记录》里面,看到有个很有意思的算法题

https://www.jianshu.com/p/beac152832fb

原题如下

有15个瓶子,其中最多有一瓶有毒,现在有四只老鼠,喝了有毒的水之后,第二天就会死。如何在第二天就可以判断出哪个瓶子有毒

思路如下:

15个瓶子--15个输入

4只老鼠--二进制最多16种输出

输入转成2进制按次序 喂给老鼠

再从死掉的输出结果 得出哪瓶

----------具体看下表

0  0  0  1

0  0  2  0

0  0  3  3

0  4  0  0

0  5  0  5

0  6  6  0

0  7  7  7

8  0  0  0

9  0  0  9

10  0  10  0

11  0  11  11

12  12  0  0

13  13  0  13

14  14  14  0

15  15  15  15

-------

1  2  3  4(老鼠编号)

第二天  老鼠死掉编号结果就是对应的有毒的瓶子号码

你可能感兴趣的:(15只瓶子,四只老鼠算法题分析)