• 清水混毒【逻辑题】


    清水混毒【逻辑题】

    题目

    一百瓶清水里混入了和清水一模一样的毒药,我们无法从外观和气味上分辨出来。但是我们知道小白鼠不论摄入多少量的毒药都会立刻 s掉。

    现在给你7只小白鼠和无限长的准备时间,准备时间忽略不计。在你准备完成之后,请问你是否要办法在一个小时之内区分出哪瓶是毒药?

    4个条件:
    1.不论摄入多少量
    2.都会立刻s掉
    3.7只小白鼠
    4.无限长的准备时间

    要求:
    一个小时之内区分出哪瓶是毒药?

    题目

    一百瓶清水里混入了和清水一模一样的毒药,我们无法从外观和气味上分辨出来。但是我们知道小白鼠不论摄入多少量的毒药都会在一个小时到两个小时 s掉。

    现在给你7只小白鼠和无限长的准备时间,准备时间忽略不计。在你准备完成之后,请问你是否要办法在有三个小时之内区分出哪瓶是毒药?

    4个条件:
    1.不论摄入多少量
    2.都会在一个小时到两个小时 s掉。
    3.7只小白鼠
    4.无限长的准备时间

    要求:
    三个小时之内区分出哪瓶是毒药?

    解答

    对于第一题很简单,不在多述。

    对于第二题,我的解法如下:

    把100瓶分成7份,给7个小白鼠,每份不到15瓶。15x7=105>100
    1小时后,死掉一只,剩6只。
    再把死掉一只的那15瓶分成6份,每份不到3瓶。3x6=18>15
    1小时后,再死一只,剩5只
    再把3瓶分给5个小白鼠,5>3
    再过1小时,就可以确认。

    注意的是:
    小白鼠是1到2小时之间才能毒发,必须等到有一只死了,才可以进行下一步操作。

    还有一种解法如下:

    由于27=128>100,所以1~100能用7位2进制表示。
    比如:
    1转成2进制是000 0001
    2转成2进制是000 0010
    100转成2进制是110 0100

    那更多的十进制转换为二进制如下

    1=000000121=001010141=010100161=011110181=1010001
    2=000001022=001011042=010101062=011111082=1010010
    3=000001123=001011143=010101163=011111183=1010011
    4=000010024=001100044=010110064=10000oo84=1010100
    5=000010125=001100145=010110165=100000185=1010101
    6=000011026=001101046=010111066=100001086=1010110
    7=000011127=001101147=010111167=100001187=1010111
    8=000100028=001110048=011000068=100010088=1011000
    9=000100129=001110149=011000169=100010189=1011001
    10=000101030=001111050=011001070=100011090=1011010
    11=000101131=001111151=011001171=100011191=1011011
    12=000110032=010000052=011010072=100100092=1011100
    13=000110133=010000153=011010173=100100193=1011101
    14=000111034=010001054=011011074=100101094=1011110
    15=000111135=010001155=011011175=100101195=1011111
    16=001000036=10010056=011100076=100110096=1100000
    17=001000137=010010157=011100177=100110197=1100001
    18=001001038=010011058=011101078=100111098=1100010
    19=001001139=010011159=011101179=100111199=1100011
    20=001010040=010100060=011110080=1010000100=1100100

    我们现在把第一位是1的所有液体进行混合,也就是编码是1xx xxxx的所有液体都混到一个瓶子里面。同理:把第二位是1的所有液体进行混合到一个瓶子里面,把第三四五六七位是1的,同样的方法进行混合到一个瓶子里面,最终我们可以得到7个瓶。7个瓶子里的液体分别喂给7个小白鼠,之后我们只需等待两小时所有中毒的小白鼠都会毒发。

    根据中毒小白鼠的情况,可得出其毒药编码。第几位小白鼠死了,毒药的编码第几位就是1(死为1,活为0)
    例如:只有第1、3、5、7小白鼠死掉,其编码为101 0101,也就是第85瓶是毒药。

    若第一题也用此方法,我们将立刻根据死掉的小白鼠,就得知其毒药编码了。

    建模

  • 相关阅读:
    LeetCode 1277. 统计全为 1 的正方形子矩阵【动态规划】1613
    unity 实用框架
    pip安装mysqlclient报错 Exception: Can not find valid pkg-config name
    MySQL主从配置-之GTID复制【第二篇】
    springboot+vue+elementui实现前后端分离的网上商城购物系统
    sh文件介绍及linux下执行
    【论文导读】Learning Causal Semantic Representation forOut-of-Distribution Prediction
    485modbus转profinet网关在混料配料输送系统应用博图配置案例
    【数据结构与算法】two X 树的遍历以及功能实现
    npm install 报错问题解决合集
  • 原文地址:https://blog.csdn.net/qq_51625007/article/details/126975030