算法iOS 开发

有15个瓶子,其中最多有一瓶有毒,现在有四只老鼠

2018-07-26  本文已影响659人  Wall_EX

今天看到一个非常意思的题目:
有15个瓶子,其中最多有一瓶有毒,现在有四只老鼠,喝了有毒的水之后,第二天就会死。如何在第二天就可以判断出哪个瓶子有毒?

有4只老鼠,老鼠喝了瓶子里面的水,有0,1(生或死)两种状态,则有16中进制变化
0000 => 无毒
0001 => 1号瓶
0010 => 2号瓶
0011 => 3号瓶
0100 => 4号瓶
0101 => 5号瓶
0110 => 6号瓶
0111 => 7号瓶
1000 => 8号瓶
1001 => 9号瓶
1010 => 10号瓶
1011 => 11号瓶
1100 => 12号瓶
1101 => 13号瓶
1110 => 14号瓶
1111 => 15号瓶
所以给老鼠和每个瓶子对应有1的瓶子里面的水,如0001 则第四只老鼠喝水,一、二、三只老鼠不喝水。来根据老鼠死亡的顺序来判断哪个瓶子是有毒的,还是无毒的。

代码实现:

image.png
本文仅供参考,切莫当真_!
上一篇下一篇

猜你喜欢

热点阅读