有4瓶药,其中一瓶有毒,老鼠喝到有毒的药水会死掉,每只老鼠只能喝一次,但是药水可以混到一起喝,那最少要几只老鼠才能找出哪瓶药有毒。
求求大佬帮帮我

Python题目不会,求大家帮帮我
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- shadowsland 2021-11-14 21:42关注
这道题考察了我们对bit位的灵活运用,4对应的二进制为100,有三位,则理论上需要三只老鼠
具体操作逻辑是二进制为1的老鼠和对应的药水:
1 = 001 即 一号老鼠喝一号药水
2 = 010 即 二号老鼠喝二号药水
3 = 011 即 一号和二号老鼠喝三号药水
4 = 100 即 三号老鼠喝四号药水
根据哪几支老鼠死了就可以得出哪瓶药水有毒,(转换成对应的十进制)
对于这个题的话可以不需要第三只老鼠,通过反向判断,如果前两只老鼠都没死则可认定第四瓶药水有毒,所以最少只需要两只老鼠即可本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录