iOS開發(fā)_小迷糊 的文章《IOS 中級(jí)開發(fā),鵝廠面試全記錄》里面,看到有個(gè)很有意思的算法題
http://www.reibang.com/p/beac152832fb
原題如下
有15個(gè)瓶子,其中最多有一瓶有毒帚戳,現(xiàn)在有四只老鼠,喝了有毒的水之后,第二天就會(huì)死。如何在第二天就可以判斷出哪個(gè)瓶子有毒
思路如下:
15個(gè)瓶子--15個(gè)輸入
4只老鼠--二進(jìn)制最多16種輸出
輸入轉(zhuǎn)成2進(jìn)制按次序 喂給老鼠
再從死掉的輸出結(jié)果 得出哪瓶
----------具體看下表
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(老鼠編號(hào))
第二天? 老鼠死掉編號(hào)結(jié)果就是對(duì)應(yīng)的有毒的瓶子號(hào)碼