程序员面试必看30道智力题

二进制问题

金条问题

有个商人雇用了一位手艺高超的工匠了为他做一个精致产品,工作一星期七天的代价是一条金条。商人手头上有一条金条,刚好有可以付工匠一星期的工钱。但工匠要求工钱要按每天来付。虽然他并不急着用钱,每天有钱进账,老人心里总是踏实一些。但商人家中有个规矩,金条每星期只能切二刀。后来商人想出以了个切割金条的办法,满足了工匠的要求。你知道商人是怎么切割金条才能满足工匠的吗?

切成1、2、4。这三个二进制数的组合能表示0-7中的任何一个。


老鼠和毒药

实验室有100个瓶子,其中有一瓶装有慢性毒药(第3天发作),另外99瓶装有蒸馏水。请问至少需要多少只小白鼠才能在3天内找出哪一瓶是慢性毒药?

利用二进制来做,最少的老鼠数量就是计算2的多少次方大于等于瓶子数量,例如本题为7。对100瓶进行二进制编码,这样可以排列出1xxxxxx,x1xxxxxx,…,xxxxxx1这样的七组序列,如果是1xxxxxx和x1xxxxx的老鼠死了,表示1100000有毒。


水桶问题

倒水问题1

一个装了10L水的桶,一个7L的空桶,一个3L的空桶,怎样变成2个5L

初始时为10,0,0。
第二步7,0,3。
然后7,3,0。
然后4,3,3。
然后4,6,0。
然后1,6,3。
然后1,7,2。
然后8,0,2。
然后8,2,0。
然后5,2,3。
然后5,5,0。


倒水问题2

如果你有无穷多的水,一个3夸脱的和一个5夸脱的提桶,你如何准确称出 4夸脱的水?

初始时0,5
然后3,2
然后0,2
然后2,0
然后2,5
然后1,4


舀酒问题

据说有人给酒肆的老板娘出了一个难题:此人明明知道店里只有两个舀酒的勺子,分别能舀7两和11两酒,却硬要老板娘卖给他2两酒。聪明的老板娘毫不含糊,用这两个勺子在酒缸里舀酒,并倒来倒去,居然量出了2两酒,聪明的你能做到吗?

初始0,11
然后7,4
然后0,4
然后4,0
然后4,11
然后7,8
然后0,8
然后7,1
然后0,1
------
然后1,11
然后7,5
然后0,5
然后5,0
然后5,11,
然后7,9
然后0,9
然后7,2


钱问题

赚钱问题

一个人花8块钱买了一只鸡,9块钱卖掉了,然后他觉得不划算,花10块钱又买回来了,11块卖给另外一个人。问他赚了多少?

-8+9-10+11=2


假钱问题

老王30买了双鞋,35卖,客人花100买,老王没零钱于是向老李换了100.补给客人后,客人走远后老李突然说是假钱,于是老王补偿给了老李,问老王一共亏了多少?

卖鞋赚了35-30=5
假钱赔了100
一共亏95


取硬币问题

30枚面值不全相同的硬币摆成一排,甲、乙两个人轮流选择这排硬币的其中一端,并取走最外边的那枚硬币。如果你先取硬币,能保证得到的钱不会比对手少吗?

先取者可以让自己总是取奇数位置上的硬币或者总是取偶数位置上的硬币。数一数是奇数位置上的面值总和多还是偶数位置上的面值总和多,然后总是取这些位置上的硬币就可以了。

<
  • 8
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值