8瓶水和3只小老鼠的故事(python解决)思路

老鼠试毒药的故事


大家好,这里是三岁,遇到了一个那难题,三岁渣渣做算法题,思路已有过程还在考虑,头一直秃

这是一个悲伤的故事,一天有人往8个杯子中的一个投了毒,已经知道毒药7天左右发作,现有3只小白鼠,有一个星期的时间,要得到哪一个杯子里面有毒

这题目真的和题目一有毒。
百度到了一个好结果:

 把3只老鼠变成肉泥,然后等分成8份放进瓶子里,7天后查看有没有长蛆,没有的那个就是有毒的。

这个答案也是真的牛,只想问一句,你是秀儿吗?

思路

可以逐个排序

瓶子 老鼠
1号 第一只
2号 第二只
3号 第三只
4号 第一、二只
5号 第一、三只
6号 第二、三只
7号 第一、 二、三只
8号 都不吃

这样子不同的老鼠giao了就代表不同的瓶子有毒,如果都没有giao那么8号有毒
emmm好有道理啊!

怎么样去表达?

秃!!!

思路2

上面的有明显问题就是这个顺序比例不好把控,用计算机语言难以表达,而且容易错乱。
有没有什么好一点的办法呢?
那么肯定是有的,就是采用二进制的办法

疑惑.jpg

不行,三岁老规矩上图!

瓶子
3只老鼠一只表示一位
第一只试第一位是1的也就是 2,4,6,8
第二只试第二位是1的也就是 3,4,7,8
第三只试第三位是1的也就是 5,6,7,8

只要有那只giao 了就代表响应位数为1的十进制值加一

比如第一只和第三只giao了,那么就相当于第三位和第一位为1
就是: 101(二进制) = 5(十进制)+1
第6瓶是毒药

原理基本上就是终上所述,至于怎么实现,emmm三岁秃头努力中,如有结果会把链接放在下面,如有大佬有思路想法,欢迎打扰。谢谢大家的关注!!!

猜你喜欢

转载自blog.csdn.net/weixin_45623093/article/details/106731809
今日推荐