題目:
某酒主人要宴請客人,他共有1000瓶酒,其中1瓶有毒。一旦喝了毒酒後,會在一周後發作,現在如果我們用試紙進行檢測,滴了毒酒
的試紙會在1週後變色,問最少需要多少張試紙可以檢測出哪瓶有毒?
解答:
10張試紙即可。
10張試紙按從左到右的順序一字排好,每瓶酒也編上號1到1000,並把編號轉換成10位二進位制形式,數字和試紙的位置一一對應,把
酒滴到酒二進位制編號數相應位置上是1的試紙上(每一瓶酒都要滴)。一周後看變色的試紙有哪幾張,然後排成二進位制,再轉成十進位制
就是第幾瓶酒。比如:第70瓶酒,70轉換成二進位制為0001000110,那麼就滴到第4、8、9張試紙上。如果最後第3、7、8張試紙變
色,那麼就是0010001100,轉換成十進位制就是140,即140瓶酒有毒。因此理論上用10張試紙可以檢測1024瓶酒中哪一瓶酒有毒。
數學問題 1000瓶酒找1毒酒
某酒主人要宴請客人,他共有1000瓶酒,其中1瓶有毒。一旦喝了毒酒後,會在一周後發作,現在如果我們用試紙進行檢測,滴了毒酒 的試紙會在1週後變色,問最少需要多少張試紙可以檢測出哪瓶有毒?解答 10張試紙即可。10張試紙按從左到右的順序一字排好,每瓶酒也編上號1到1000,並把編號轉換成10位二進位制...
使用並行二分法解決1000瓶酒找毒酒問題
從1000瓶酒中找出1瓶毒酒是一道著名的面試題,原題如下 某酒主人要宴請客人,他共有1000瓶酒,其中1瓶有毒。一旦喝了毒酒後,會在一天後發作,現在如果我們用小白鼠進行檢測,問一天內最少需要多少只小白鼠才可以檢測出哪瓶有毒?此題的常規思路是10只老鼠按從左到右的順序一字排好,每桶酒也編上號1到100...
500桶酒 其中1桶是毒酒 找毒酒
500桶酒 其中1桶是毒酒 找毒酒 500桶酒,其中1桶是毒酒 48小時後要舉行酒會 毒酒喝下去會在之後的第23 24小時內毒死人。國王決定用囚犯來試酒,不介意囚犯死多少,只要求用最少的囚犯來測試出哪一桶是毒酒,問需要最少需要多少囚犯才能保證找出毒酒?需要9個人 將500桶毒酒進行編號,並用二進位制...