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

来源:互联网 发布:淘宝主图ps教程 编辑:程序博客网 时间:2024/04/27 23:11

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    25601 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次;
第一天给七分之一;
第二天给七分之二把另外七分之一要回来;
第三天再把这个七分之一给工人;
第四天直接给工人那块七分之四的,把其余的换回来;

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

0 0
原创粉丝点击