zoukankan      html  css  js  c++  java
  • 关于二进制的问题

    今天看了一个视频,里面有这么一个问题,100瓶水中有一瓶是毒药,老鼠吃了毒药后一周才会死,试问用多少只老鼠在一周中才可以试出毒药?
    视频是这样讲解这个问题的。
    给每一个瓶子编号如
    第一个瓶子:0000001
    第二个瓶子:0000010
    第三个瓶子:0000011
    ·······
    第一百个瓶子:1100100
    然后呢

    分成七个组,七只老鼠,一号至7号都喂含有那一列含有数字1 的药水。
    结果就出来了。
    假如说一号和五号老鼠死亡,那么这瓶药水的编号为1000100也就是第68瓶药水是毒药。
    视频的最后提出这么一个问题:有一百个囚犯排成一列,报数奇数就枪毙,偶数留下,
    再次报数奇数枪毙偶数留下直到最后一人,那么如果想活着,应该站那个位置

    开始想用列举的方法,后来想这样就没意思了。
    一会,我想到了解题思路。

    奇数的话二进制最后一个数字为1,偶数为0,因为最后一位是1x20或者0x20。其他较高位都是偶数,
    这个题的解法是最高位为1其他为都是0.也就是1000000=64.因为只留一个数嘛。

  • 相关阅读:
    Kubernetes 命令行工具之kubctl
    新一代数据库之Etcd 简介
    算法题 打家劫舍(动态规划)
    算法题 位1的个数
    Class强制类型转换
    算法题 阶乘后的零
    算法题 Excel表列序号
    多数元素
    有序数组两数之和
    一杯果汁和一杯水的故事
  • 原文地址:https://www.cnblogs.com/gudaonihao/p/11106331.html
Copyright © 2011-2022 走看看