1.1 毒药问题
首先一共有1000瓶,2的10次方是1024,刚好大于1000, 也就是说,1000瓶药品可以使用10位二进制数就可以表示。
从第一个开始:
- 第一瓶 : 00 0000 0001
- 第二瓶 : 00 0000 0010
- 第三瓶 : 00 0000 0011
- ……
- 第999瓶: 11 1111 0010
- 第1000瓶:11 1111 0011
需要十只老鼠,如果按顺序编号,ABCDEFGHIJ分别代表从低位到高位每一个位。 每只老鼠对应一个二进制位,如果该位上的数字为1,则给老鼠喝瓶里的药。 观察,若死亡的老鼠编号为:ACFGJ,一共死去五只老鼠,则对应的编号为 10 0110 0101, 则有毒的药品为该编号的药品,转为十进制数为:613号。
1.2 分金块问题
问题:工人为老板打工,工作七天可以获得一块金子,工人每天可以分得一点金子,老板必须每天发金子,不能多给,也不能少给,把这个金子切两刀,就可以每天给工人发工资,请问怎么切?
切两刀将金子分成三份,1/7、2/7、4/7;
- 工作第一天 把1/7分给工人;
- 工作第二天 把2/7分给工人,并要回1/7那块金子,工人有2/7的金子;
- 工作第三天 把1/7给工人 工人有3/7金子;
- 工作第四天 把前两块金子要回,给工人4/7的金子 工人有4/7的金子;
- 工作第五天 把1/7分给工人 工人有5/7的金子;
- 工作第六天 把2/7分给工人,并要回1/7那块金子,工人有6/7的金子;
- 工作第七天 把1/7给工人 工人有完整的金子;
扩展:如何给工人发15天的工资?把金块分成1/15、2/15、4/15、8/15。