经典小白鼠试毒

问题描述

有1000瓶液体(正常,无毒),但是由于工作人员失误,将毒药滴到了其中一瓶中,从外观和气味上无法分辨哪一瓶被污染了,只知道毒药在7天内毒发,实验室有10只小白鼠,只有7天的时间,如何实验才能知道哪一瓶被污染了?

解决思路

  1. 将1000瓶液体编号1~1000,然后将编号转化为10位二进制编码,如1号就是0000000001
  2. 将10只小白鼠编号1~10
  3. 将液体的二进制编号上为1的位数给对应的小白鼠喝。如液体编号为 1111100000,那就是1~5号小白鼠不喝这瓶液体,6~10号小白鼠喝这瓶液体
  4. 7天内观察小白鼠的状况,如果1~5号小白鼠死亡,6~10号小白鼠存活,那么有毒的那瓶液体对应的二进制编码为0000011111
  5. 将第4步得到的二进制编码转换为十进制,这里 0000011111 对应 31,因此可以推断出编号31是被污染的液体

猜你喜欢

转载自www.cnblogs.com/mougg/p/12370850.html