您的位置:首页 > 其它

IT公司智力题(持续跟新中)

2011-09-06 09:07 85 查看
请听题(用赵本山在《买车》的语气)

1.有1000瓶药物,但是其中有一瓶是有毒的,小白鼠吃了一个星期以后就会死掉!

请问,在一个星期内找出有毒的药物,最少需要多少只小白鼠?

解答:用二进制的思路去思考,1000瓶药代表了1000种状态,那么1000用二进制表示可以用一个10位的二进制数就可以全部表示出来,考虑用十只白鼠来试验,用0和1代表它们最终的状态即死亡或活着,初始状态十只白鼠表示为0000000000。(网上的解答到此为止,下面是对此的解释)

0001:代表第一瓶药给1号小白;

0010:代表第二瓶药给2号小白:

0011:代表第三瓶药给1,2号小白;

……

最后,看结果:

如果只是1号小白挂了,那么1号药为假;

如果只是2号小白挂了,那么2号药为假;

如果1.2号小白都挂了,那么3号药为假;

可以看出,窍门1:用二进制数的方法来标示状态;2一只小白鼠可以喝多瓶药水(哈哈,这个隐含条件啊)

2.有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥?

答案:(没啥好说的,凑数呗)

第一步:A(1)和B(2)过桥,A(1)返回 Cost:1+2

第二步: C(5)和D(10)过桥,B(2)返回 Cost:10+2

第三步: A(1)和B(2)过桥 Cost:2

3.有50家人家,每家一条狗。有一天警察通知,50条狗当中有病狗,行为和正常狗不一样。每人只能通过观察别人家的狗来判断自己家的狗是否生病,而不能看自己家的狗,如果判断出自己家的狗病了,就必须当天一枪打死自己家的狗。结果,第一天没有枪声,第二天没有枪声,第三天开始一阵枪响,问:一共死了几条狗?

这道题实在是太精彩了。屡见不鲜,算一道及其经典的题目了。

解答的过程主要要设身处地,站在狗主人的立场上,有点儿像玩桌游哦。

我们先从一条病狗说起。

主人的集合为{A0,A1,...A50}

狗的集合为{a1,a2,...a50}

1.假设有一条病狗,不妨设为a1。那么经过在第一天,每个人都可以看到那条病狗,除了病狗的主人A1。

A1这样分析:哇,周围的狗竟然都是正常的,而这里一定有病狗,看来只有我家的旺财生病了,哎,杀它吧。于是,枪声会在第一天想起。注意此时,其它狗主人看到a1的狗生病,但是无法确定自己的狗是不是正常的,自己的狗也许是正常的,也许是生病的。但是如果自己的狗是病狗,那么A1就不会枪杀a1了,因为A1会看见自家的狗是病狗,A1无法确定自己的狗是病狗,当然不会在第一天杀死a1。但是现在a1死了,所所以证明自己家的狗是正常的,杀戮停止!

2.假设有两条病狗。不妨设为a1,a2。第一天,A1,A2分别看到病狗a2,a1。{A3,...A50}则看到病狗a1,a2。A1,A2知道至少有一条病狗,{A3,...A50}知道至少有2条病狗。所有的人都会在第一天等待,第一天并不会响起枪声,没人能证明自己的狗生病了。第二天到了,A1,A2第一天没有枪声,明白了,病狗不止一条:有2条,而自己只看到1条病狗,所以自己的狗是病狗,所以,枪声响起了:a1,a2被杀。而此时,{A3,...A50}松了口气,原来只有2条病狗,自己的狗是健康的。如果自己的狗是病狗,A1,A2就不会杀自家的狗了(分析类似于1中的红色字体)。

3.假设有3条病狗,不妨设为a1,a2,a3。第一天,A1,A2,A3分别看到病狗{a2,a3},{a1,a3},{a1,a2}。{A4,...A50}则看到病狗a1,a2,a3。A1,A2,A3知道至少有2条病狗,{A4,...A50}知道至少有3条病狗。第一天并不会响起枪声,没人能证明自己的狗生病了。第二天并不会响起枪声,同样没人能证明自己的狗生病了。第三天终于来了。经过前两天,A1,A2,A3终于知道,原来至少有3条病狗(如果只有两条的话,第二天枪声就要响起)。而自己值看到2条病狗,所以剩下的那只病狗一定是自己的。所以,A1,A2,A3分别枪杀了自己的狗。而{A4,...A50}看到自己看到的病狗被杀后,就不会怀疑自己的狗是病狗:如果有自家的狗也是病狗,A1,A2,A3就不会枪杀他们家的狗。(分析类似于1中的红色字体)

照着这样分析下去,可以知道,第k天枪声响起,那么就有k条病狗

4.13个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球?

分成4个、4个、5个,先拿两个四个上去,如果平衡,则问题出在5个那组,就在5个里任拿三个设为C1C2C3,再拿三个正常的,分别放两边,若平衡就简单啦,若不平衡,就出现C1C2C3重,或C1C2C3轻,相当于就知道那个特别的球是比较重或者比较轻啦,接下就不用说了

   如果不平衡,假设现在是A重B轻,

   取A1+A2+B1放天平一边(设为左边),

   再取A3+A4+B2放另一边(右),

   若平衡,就在B3/B4任拿一个跟C1上去称就行了,

   如果不平衡,那么假设

   情况一:左重

   则是A1/A2/B2有问题

   直接把A1A2放两边称,重的那个有问题,如果平

   衡就是B2有问题

   情况二:右重

   就是 A3/A4/B1有问题,方法同上
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c