现在的位置: 首页 > 综合 > 正文

智力测试题3

2012年04月14日 ⁄ 综合 ⁄ 共 1874字 ⁄ 字号 评论关闭

68. 100层高楼、玻璃围棋问题

有一幢100层高的大厦,给你两个完全相同的玻璃围棋子。假设从某一层开始,丢下玻璃棋子就会摔碎。那么怎么利用手中的两颗棋子,用一种什么样的最优策略,知道这个临界的层高呢?

【解析】

先从14楼开始抛第一次;如果没碎,再从27楼抛第二次;如果还没碎,再从39楼抛第三次;如果还没碎,再从50楼抛第四次;如此,每次间隔的楼层少一层。这样,任何一次抛棋子碎时,都能确保最多抛14次可以找出临界楼层。

证明如下:

1)第一次抛棋子的楼层:最优的选择必然是间隔最大的楼层。比如,第一次如果在m层抛下棋子,以后再抛棋子时两次楼层的间隔必然不大于m层;

2)从第二次抛棋子的间隔楼层最优的选择必然比第一次间隔少一层,第三次的楼层间隔比第二次间隔少一层,如此,以后每次抛棋子楼层间隔比上一次间隔少一层;

3)所以,设n是第一次抛棋子的最佳楼层,则n即为满足下列不等式的最小自然数:

不等式如下:1+2+3+...+(n-1)+n >= 100

由上式可得出n=14

即最优的策略是先从第14层抛下,最多抛14次肯定能找出临界楼层。

69. 奔猪问题

38只猪,要选出3只跑得最快的,但场地只允许6只同时赛跑。问:在没有计时器的情况下,怎样可以用最快、最好的方法选出最快的3只猪?(假设每只猪速度一定,且不受体力影响。)

【解析】

把猪分成7组,前六组每组6只,第七组2只。

七组分别标记为:abcdefg

1)让前六组先跑,每组第一名留下,设为:a1b1c1d1e1f1,并把每组的第一名和第二名做好标记(如:a2a3等)。

2)让每组第一名(共六只)赛跑,把前三名留下,假设分别为a1b1c1。再另a1b1c1a2a3b2六只猪进行赛跑,选出最快的三只猪。

3)将前面的三只猪和第七组的两只猪一起进行赛跑,选出最快的三只猪,即为这38只猪中最快的三只猪。

70. 细木杆、蚂蚁问题

有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间。

【解析】

最小时间:11 <-  <-  <-  ->  ->

最大时间:24<-  <-  <-  <-  <-

此题可以用鬼魂算法来求解。假设有两只蚂蚁AB对着走,它们碰头时反向,其实这可以把A看作BB看作A,即他们仍朝各自的方向行走,而互不受影响。最长距离的情况一定对应着起初时3厘米处的那只蚂蚁向右移动,于是根据鬼魂算法可得该蚂蚁要跑的距离为27-3=24厘米,即24秒。

鬼魂算法的意思是传递能量、穿透。这里蚂蚁的每一次碰撞都意味着一次穿透,也即可以看做互不影响。

71. 一个经理、三个女儿问题

有一个经理,有3个女儿,她们的岁数加起来是13岁,相乘等于经理的岁数。有一个下属知道了经理的岁数,但是不能确定他的女儿都是多大。经理说他只有一个女儿是黑头发(或他只有一个女儿超过5岁)。下属马上知道了经理的岁数,经理到底多少岁?

【解析】

下属知道经理的年龄,只要把13分成三个数,三数乘积等于经理年龄有多种可能性。所以,令下属猜不出答案的原因是:缺乏附加条件,三元方程无确定解,一定要转换成二元方程。

显然3个女儿的年龄都不为0,要不爸爸就为0岁了,因此女儿的年龄都大于等于1岁。这样可以得下面的情况:1*1*11=111*2**10=201*3*9=271*4*8=321*5*7=35{1*6*6=36}{2*2*9=36}2*3*8=482*4*7=562*5*6=603*3*7=633*4*6=723*5*5=754*4*5=80。因为下属已知道经理的年龄,但仍不能确定经理三个女儿的年龄,说明经理是36岁(因为{1*6*6=36}{2*2*9=36}),所以3个女儿的年龄只有2种可能。经理又说只有一个女儿的头发是黑的,说明只有一个女儿是比较大的,其他的都比较小(头发还没有长成黑色的),所以3个女儿的年龄分别为229

所以,此经理有一对双胞胎女儿,她们的年龄分别是:2岁、2岁、9岁;经理的年龄是32岁。

72. 商场打折问题

一个商场举行一个活动,买够200元的商品赠送一张价值为100元的赠券,不够200元的不赠送,请问打了多少的折扣?

折扣为:x/(x+100*(x%200))

抱歉!评论已关闭.