Python兔子毒藥問題實例分析
本文實例分析了Python兔子毒藥問題。分享給大家供大家參考。具體分析如下:
問題大致是這樣的:1000瓶無色無味的液體,其中一瓶為毒藥,其它皆為清水,毒藥只取一滴與清水混合為一瓶也可以毒死兔子。現(xiàn)在有10只兔子,當(dāng)兔子喝下毒藥兩個小時后死去,請設(shè)計一種方案,能夠在24小時內(nèi)找到這瓶毒藥。
................2分鐘后
前面的問題你一定想清楚了,那么略改動一下:1000瓶無色無味的液體,其中一瓶為毒藥,其它皆為清水,毒藥只取一滴與清水混合為一瓶也可以毒死兔子?,F(xiàn)在有10只兔子,當(dāng)兔子喝下毒藥20個小時后死去,請設(shè)計一種方案,能夠在24小時內(nèi)找到這瓶毒藥。
................2分鐘后
有多種方法,比如我每隔5分鐘給兔子喝一次100瓶液體混合在一起的東西,根據(jù)兔子死去的先后順序,就可以判斷是那一瓶了。
有沒有更好的辦法呢,我這里僅僅提供一種時間最優(yōu)的方法,也就是在20個小時找到這瓶毒藥。當(dāng)然也可以有死的兔子最少,在死去兔子和時間找到一個最佳折中點的優(yōu)化問題。
方法如下:
給10只兔子編號1-10,每只兔子代表一個數(shù),列表如下:
編號 1 2 3 4 5 ... 10
數(shù)字 1 2 4 8 16 ... 512
瓶子也有編號,依次為1-1000。 呵呵,聰明的你應(yīng)該知道我要怎么做了吧,不過我還是要說下去,并寫python代碼來實現(xiàn)。
我希望是當(dāng)編號為Y1,Y2,Y3...的兔子死去時,可以推導(dǎo)出編號為X瓶子為毒藥。比如編號為1,2,4的兔子死去,那就得知 兔子對應(yīng)的數(shù)字 為1+2+8=11,就是編號為11的瓶子是毒藥。比如編號為1,4,10的兔子死去,那就得知 兔子對應(yīng)的數(shù)字 為1+8+512=521,就是編號為521的瓶子是毒藥。
現(xiàn)在的問題就是要知道編號不同的每只兔子要喝哪幾瓶液體。
Python代碼如下:
def main(): """ baselist是兔子編號從1-10對應(yīng)的數(shù)字, result是最終每只兔子要喝的液體 """ baselist=[1,2,4,8,16,32,64,128,256,512] result=[[],[],[],[],[],[],[],[],[],[]] for water in range(1,1001): watertmp=water for i in range(9,-1,-1): if (watertmp-baselist[i])>=0: watertmp -= baselist[i] result[i].append(water) for i in range(1,11): print "The Num %d rabit need drink the next liquid " % i+1,result[i] pass if __name__=="__main__": main()
希望本文所述對大家的Python程序設(shè)計有所幫助。
相關(guān)文章
Django1.7+python 2.78+pycharm配置mysql數(shù)據(jù)庫教程
原本感覺在Django1.7+python 2.78+pycharm環(huán)境下配置mysql數(shù)據(jù)庫是件很容易的事情,結(jié)果具體操作的時候才發(fā)現(xiàn),問題還是挺多的,這里記錄一下最終的配置結(jié)果,給需要的小伙伴參考下吧2014-11-11Python將二維列表list的數(shù)據(jù)輸出(TXT,Excel)
這篇文章主要介紹了Python將二維列表list的數(shù)據(jù)輸出(TXT,Excel),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04利用Python代碼實現(xiàn)數(shù)據(jù)可視化的5種方法詳解
在數(shù)據(jù)科學(xué)中,有多種工具可以進行可視化。下面這篇文章主要給大家介紹了關(guān)于利用Python代碼實現(xiàn)數(shù)據(jù)可視化的5種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2018-03-03關(guān)于多種方式完美解決Python pip命令下載第三方庫的問題
這篇文章主要介紹了多種方式完美解決python pip命令下載第三方庫的問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12