警犬和毒药、苹果、金条,问题解析思路

1、有1000瓶液体,无色无味,外表完全一样,其中一瓶是毒药,
有10条警犬,警犬喝过毒药后两小时后死亡。问,如何在两个小时后确定哪瓶是毒药。

1000相对应十个二进制位 00 0000 0000
对警犬和液体瓶进行编号:
液体为1-1000号; 十条警犬编制成1-10号;
每条警犬对应一个二进制位,当警犬所对应得二进制位为1是该警犬尝试该瓶液体;如果警犬死亡可根据所对应二进制数找出毒药;
例:如果3号 5号 7号 中毒了所对应的二进制
00 0101 0100 = 86号液体有毒

2、(写出解体思路)现有1000个苹果,10个盒子,现在要你将1000个苹果装入10个盒子中,
使得用户无论购买多少个苹果(1-1000),都能由若干个盒子拼装而成(卖的时候是整个盒子卖,
不能拆盒子的包装)怎么装??

1000 相对应十个二进制位

00 0000 0001    1      1,2,4,8 可以组成1-15中任意一个数。
00 0000 0010    2   
00 0000 0100    4   
00 0000 1000    8
      :   
01 0000 0000    256
01 1110 0000    488     第十个为1000-512= 488;
所以 2^0=1 到 2^8=256 可以组成512之内的任意一个数;
又根据 2^(n-1);得出1-9个箱子苹果个数为:1 2 4 8 16 32 64 128 256

3、(写出解体思路)有一条金条,一个人给一个老板打工7天,
每天给那人金条的七分之一,把金条最少切几次?
根据二进制0000
0001 = 1
0010 = 2
0100 = 4
最切3次;
第一天给七分之一;
第二天给七分之二把另外七分之一要回来;
第三天再把这个七分之一给工人;
第四天直接给工人那块七分之四的,把其余的换回来;

第七天把所有的金块给工人;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值