您的位置 首页 java

面试中常见的智力题 — 二进制问题

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。

文章来源:智云一二三科技

文章标题:面试中常见的智力题 — 二进制问题

文章地址:https://www.zhihuclub.com/193523.shtml

关于作者: 智云科技

热门文章

网站地图