zoukankan      html  css  js  c++  java
  • 500桶酒中有一桶毒酒

    有一个数学题目是这样的:500桶酒中有一桶毒酒,毒酒喝后24小时准时身亡,酒会48小时后召开,国王想用囚犯实验出毒酒最少需要多少个囚犯?

    答案:

    1、23人,每人喝22至23种酒,24小时,毒死一人,能确定毒酒在23种以内,剩下的22人,每人喝一种,再过24小时就能找出毒酒。

    2、22人也行,一人喝22种,如果死人,确定22种,否则16种,剩下的21人,没人一种,24小时后死不死人都可确定是哪一桶。

    3、最多9人,三维空间定酒,xyz三维各站3人,原点不站,来两轮,可判断。

    4、21个人就够了,需要计时。每个人每1小时喝一个没尝过的酒,哪个人挂了,往前推算23.5小时就知道了。

    5、我觉得比较直接的办法是20个人,将酒按编号分为20组,其中10组是1~10,11~20,21~30....,另外10组是1,11,21...;2,22,32,...;3,13,23,....;每个人喝一组酒,最多死4个人,根据死的人所喝的组数来交叉确定毒酒,不知道对每桶酒进行2进制编号是不是也行,因为2的9次方等于1024,也就是说,9个人就够了--麻烦的是,每个人要喝500桶酒的混合液....然后根据死的人喝的酒的代码进行交叉,找到毒酒。

    6、应该五人足够,每人喝一种,然后两两组合喝一种,再三三组合喝一种,再四四组合喝一种,再五人同喝一种,可以试31种,然后过一个小时重复之前的喝法,五个人41个小时就能试出来。

    7、最少2个囚犯。

    酒从1-500编号,第一个囚犯喝0时刻喝标号1~20的酒,1时刻喝21~40的酒,……24时刻喝481~500的酒,第二个囚犯0时刻喝标号1、21、41、……481的25种酒,……19时刻喝标号20、40、……500的酒,根据两只老鼠死的时间就可以推出是哪一桶酒有毒。

  • 相关阅读:
    关于maven下载速度慢,下载完的依赖包不知去向的应对措施
    进一步解析二分搜索树的实现
    mysql语法建库建表综合整理是示例
    走进二分搜索树的第一课
    优先队列和堆
    window系统mysql安装后获取默认密码
    微信小程序中使用云开发获取openid
    使用IDEA将springboot框架导入的两种方法
    C/C++、Qt4实现FTP客户端(有无界面版)
    云服务器搭建代理服务器 —— 某sock ,简单说明
  • 原文地址:https://www.cnblogs.com/mmzhang/p/14226388.html
Copyright © 2011-2022 走看看