位的巧妙应用

2023-11-18

前言

前几天做了一个笔试题目,当时没多想,今天翻看博客才发现,原来每个笔试题都藏的很深啊。

原文链接:http://blog.csdn.net/u010429424/article/details/77856133。
先说题目
面试题:8个试剂,其中一个有毒,毒性一定时间后发作,最少多少只小白鼠能检测出有毒试剂。

方法一:二分

这个题目,第一反应就是二分,4 4分,两个老鼠各喝四瓶,活下来的接着用。2 2分,再拿一只新老鼠,上一轮活着的接着用。最后直接在毒死老鼠的那两瓶中随意找一瓶,所以3只老鼠就够了。8-15只都一样,3只足够了。以15只为例,7 7分,3 3分,1 1,也就是log2n向下取整个。但这个方法比较耗时,只有等前面的死了之后才能进行下一轮,而且需要的瓶子数量也蛮多,至少保正每种酒需要三瓶(不知道哪瓶有毒)。

额外说些废话。没有时间上面的考虑,一只老鼠足够了,一瓶一瓶去喝,总能试出来,但时间太慢了。考虑下其他几只老鼠的情况,纯属于锻炼思维,跟这个题毫无关系,没兴趣的下面就不用看了。两只老鼠怎么样?从8瓶酒中选出四瓶,每只老鼠喝两瓶,有一只中毒死了,说明一定是在这两瓶中,另一只老鼠再从两瓶酒中随机选取一瓶,就不多说了。如果两只老鼠都没有死,说明在另一堆中,每只老鼠再喝两瓶,判断方法就和上面差不多了。就是说,2只老鼠,把一只老鼠时间减少了4倍左右。三只老鼠呢?一样,选8瓶,每次喝四瓶,把一只老鼠的时间缩短了8倍左右。这里的分析纯属无聊,因为用不上,下面这个解法,才应该是本题想考察的意图。

方法二:位

这个方法楼主思考了好久,发现结果和推到过程对应起来,怎么说都有些牵强,所以,这里的过程,仁者见仁,智者见智,欢迎大家留言,这里只是给出我的看法。
假设我们有n只老鼠,那么可以对应多少种情况?即Cn0+Cn1+…+Cnn是多少?
很显然,这里需要数学功底,答案是Cn0+Cn1+…+Cnn=2n
所以,很明显,2^3=8,所以三只老鼠足够了,即三个老鼠喝出八种状态,分别是死0只老鼠(0种情况),死1只老鼠(3种情况),死2只老数(3种情况),死3只老鼠(1种情况)。为1的死了,为0的活着。具体关系可以用位如下所示:

# [3、2、1]
0 0 1 = 1  # 2、3没死,1死了
0 1 0 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

位的巧妙应用 的相关文章

  • 巨人互动

    Facebook是全球最大的社交媒体平台之一 每天有数十亿的用户在其上发布 分享和交流各种内容 为了维护平台的安全性和用户体验 Facebook制定了严格的风控规则来监测和处理违规行为 下面小编讲讲Facebook风控规则 巨人互动 Goo

随机推荐

  • Graphviz 安装教程

    下载安装 windows版本下载地址 http www graphviz org Download windows php 选择需要的版本就行了 安装时勾选下面方框中的选项 将路径添加到系统路径中 这一步不选的话就需要人为添加路径 配置环境
  • CSS实现渐变色边框(Gradient borders)的5种方法

    1 使用border image CSS 提供了 border image 属性用于给 border 绘制复杂图样 与 background image 类似 我们可以在 border 中展示image和linear gradient 通过
  • c++STL常用容器之Queue容器——全面总结(附案例解析)(十五)

    这里有C STL 全面总结详细教程 附案例解析 持续更新中 目录 queue 容器 queue 基本概念 queue 常用接口
  • php 访问 HTTP 网址

    1 只需获取状态码 判断网址是否正常打开 url https www baidu com array get headers url 1 print r array 判断是否正常打开 url https www baidu com arra
  • SpringBoot项目整合JPA+QueryDSL,及apt-maven-plugin报错问题解决

    闲暇之余项搞个JPA的Demo 采用的是SpringBoot JPA QueryDSL 开发工具为Eclipse JPA官网 https spring io projects spring data jpa QueryDSL官网 http
  • Specified class is an interface

    错误 在springboot 启动时候出现该错误 表示有重复的mapper 而且两个mapper 都加了 Mapper注解 或者在mybatis的配置文件中配置了 所以会导致 混乱 解决方法 根据报错提示找到多余的mapper 进行统一化处
  • Jedis之Java操作redis实现模拟验证码发送操作

    import cn hutool core util RandomUtil import redis clients jedis Jedis import java util Scanner author oliverloki Descri
  • keil找不到device,怎么办?

    下载好的keil 准备调试程序 却发现这个问题 找不到我需要的芯片啊啊啊 头大 后面发现是缺少相应的pack 安装keil时 好像没有自动装上STM32系列芯片 所以得需要自己安装 百度一下 找一些资源 然后 把途中红色框住的 分别放在安装
  • 对字符串进行正则取子串

    题目是这样的 对一段HTML网页内容 解析出其中所有的键值对 比如其中type text type为属性 text为值 二者为一个键值对 内容如下
  • Day4-1 反射、可变变量、线程池和Tomcat调优

    反射 Class的三种获取方式 方式一 通过Class forName获取 Class cla1 Class forName lt 类名 gt 方式二 通过类属性 lt 类名 gt class获取 Class cla2 lt 类名 gt c
  • uniapp本地插件列表为空的问题

    在开发中 我遇到本地插件列表为空的问题 问题来源 当我们在打包时不想选择本地的某个插件 但是 但是删除 再去选择 你会发现 来列表为空 也不会报错 解决方案 1 我们删除造成问题后的导入原生插件 然后重新导入 我就是这样解决的 可能你改原生
  • Android OkHttp4 RequestBody.create()过时解决办法 kotlin、java版本

    前段时间 OKhttp3已升级到Okhttp4 编写语言由java过渡到kotlin 而以前okhttp3经常用到的post提交数据的 RequestBody create 已过时 并且换成了kotlin的新特性写法 okhttp3 pos
  • Android WebView使用技巧

    1 不使用WebView缓存 使用场景 通过WebView输入用户名和密码进行登录 退出登陆后 再进行登录会默认是之前输入的用户名和密码登录 那么使用如下方式可以设置webview的缓存模式 WebSettings seting web v
  • 存储过程中的when others then 和 raise 何意义?

    EXCEPTION when others then rollback dbms output put line code sqlcode dbms output put line errm sqlerrm raise when other
  • MATLAB初学_分类方法_4.0

    一 K 近邻分类 K 近邻算法是一种基于实例的非参数的分类方法 其作用原理是计算每个训练样例到待分类样品间的距离 取和待分类样品距离最近的看k个训练样例 k个样品中那个类别的训练样例占多数 则待分类元组就属于该类 2 1 K NN算法具体步
  • linux文件重命名命令

    linux下重命名文件有两种方式 1 较简单的处理命令 mv mv 原文件名 新文件名 如 mv myFile newName 将MyFile重命名为newName 2 linux提供了一个重命名文件命令 rename rename fro
  • HDR技术

    转自 http digi tech qq com a 20150513 008211 htm http digi tech qq com a 20150119 009229 htm http tech sina com cn e 2015
  • Fix a Tree【Codeforces 699 D】【dfs + 树的性质】

    Codeforces Round 363 Div 2 D 题意 有N个点 每个点i都有一个父节点p i 如果 i p i 则是说明i结点是根结点 现在我们给出这样的1 N的p i 这可能是不合法的 问 我们应该最少改变多少个使它变成一棵合法
  • kubernetes各组件介绍

    文章目录 一 kubernetes 是什么 1 基础架构图 2 kubernetes 各组件介绍 2 1 master 组件 one Kubernetes API Server kube apiserver two Kubernetes C
  • 位的巧妙应用

    前言 前几天做了一个笔试题目 当时没多想 今天翻看博客才发现 原来每个笔试题都藏的很深啊 原文链接 http blog csdn net u010429424 article details 77856133 先说题目 面试题 8个试剂 其