关于1000杯水一杯有毒用10鼠检验问题解答 by强

关于1000杯水一杯有毒用10鼠检验问题解答 by强
** 运用二进制解决这个问题**
导语:首先要了解有关二进制的知识“二进制是用0和1两个数码来表示的数。它的基数为2,进位规则为‘逢二进一’,类似于我们所熟悉的十进制”。

分析:用十进制表示这1000杯水,可以用 1 ,2,3 ,4, 5……1000这一千个数字表示,同理,也可以用二进制来表示:0000000000,0000000001,0000000010,……1111101000。运算方法可参考
(1000÷2 = 500 余 0
500÷2 = 250 余 0
250÷2 = 125 余 0
125÷2 = 62 余 1
62÷2 = 31 余 0
31÷2 = 15 余 1
15÷2 = 7 余 1
7÷2 = 3 余 1
3÷2 = 1 余 1
1÷2 = 0 余 1
反向读余数为1111101000)
于是,我们可以开始解决这个问题了
用二进制表示的1000杯水编号写下来,如0000000001 0000000010 0000101001
然后就是喝水环节,怎么喝呢
如上面的三杯水的安排为
1:第十只鼠喝
2:第九只鼠喝
3:第五第七第十只喝

以此类推 把这一千杯水分配给10只鼠;
然后 结果就会出现一部分小鼠死亡(这就意味着我们可以得出哪杯水有毒了)
如: 第3,5,7,8,9,这5只鼠死亡
对应为 0010101110这杯水
十进制为 174(运算为:127+1*25+123+1*22+1*2^1)
意思是 第174杯水有毒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值