老鼠毒药问题
1、有两个水桶, 一个装 3L 的水, 一个可装 5L 的水, 问:如何利用这两个桶, 量出 4L 的水来?
解法一加法:操作两次3L的桶,得到1L的水,然后倒入5L的桶里面,此时5L桶里有1L的水,再次用3L的桶倒入5L桶,1L+ 3L = 4L,一共操作3次3L桶
加法解法图示:
解法二减法:5L满水的桶倒入3L的桶,剩余2L,5L桶剩余的2L再次倒入3L桶,此时3L桶还有1L集满,5L桶再次装满后倒出来1L给3L桶里面,5L - 1L = 4L,连续操作3次5L桶
减法解法图示:
2、100个瓶子,里面有1瓶毒药,只有7只老鼠,老鼠吃了之后一星期会死亡,怎么测试?
首先2的6次方64,2的7次方128 > 100
因此我们可以用7个的二进制给100个瓶子编号,7只老鼠分别对应7个二进制位,如果瓶子编号出现1,老鼠喝下瓶子中的毒药,最后统计出被毒死老鼠的二进制数,转换为10进制就是有毒瓶子的编号。
解法图示: