算法、逻辑推理题

1、需要多少只老鼠才能判断出毒酒

有8瓶酒,其中一瓶有毒,用老鼠测试,每次测试结果8小时后才会得出。如果只有8个小时的时间,那么最少需要( ) 只老鼠进行测试。

A、2            B 、3             C、4              D、6

刚刚开始我直接想到的是三个瓶酒测试,导致最后的结果是6只

后来看到答案的解析我还郁闷这个是怎么做到的

将8瓶酒当成二进制

后来发现假如把酒编号为1到8,3个人分别标记为A、B、C,

那么饮酒的顺序为: A:1 4 6 7     B:2 4 5 6      C:3 4 5 7

8种情况分别为:

毒酒编号 死亡情况
1 A死
2 B死
3 C死
4 ABC都死
5 BC死
6 AB死
7 AC死
8 ABC都不死

根据8种情况即可知道哪杯酒有毒了。那么就是上面的那种情况

所以答案是B

2、有12个鸡蛋,其中1个是坏的(重量与其余鸡蛋不同) , 用天平最少称( ) ,才能称出哪个鸡蛋是坏的。
 

A.1次
B.2次
C.3次
D.4次

分析

假设这12个鸡蛋分别为1,2.,...12.把这12个鸡蛋分成3组( 1,2,3,4 )、
( 5,6,7,8)和( 9,10,11,12 )。首先称( 1,2,3,4)和( 5,6,7,8 ), 称的结
果有如下几种可能:
第一种可能: ( 1,2,3,4)= ( 5,6,7,8)- -第一次称重说明1 ~ 8的鸡蛋都是好鸡蛋。此时,再接着称(6,7,8)和( 9,10,11) -
       第二次称重此时会存在以下三种可能性:
       1)如果(6,7,8)= ( 9,10,11) ,那么说明坏鸡蛋是12。在这种情况下,只需要称2次就能找出坏鸡蛋。
       2)如果(6,7,8) > ( 9,10,11) ,那么说明坏鸡蛋在( 9,10,11 )中,同时可以说明坏鸡蛋一定齔好鸡蛋轻。接着称9和10。如果9=10            ,那么说明11为坏鸡蛋;否则,轻的为坏鸡蛋一第三次称重
      3)如果(6,7,8) < ( 9,10,11 ) ,那么使用与2 )相同的方法称3次就可以得到坏鸡蛋。
第二种可能: ( 1,2,3,4)≠(5,6,7,8)- -第- -次称重
       在这种情况下,说明坏鸡蛋一定在( 1,2,3,4,5,6,7,8)中。对于( 1,2,3,4) > ( 5,6,7,8 )和(1,2,3,4) < ( 5,6,7,8)两种情况,分析方法是类似的。
      在这里以( 1,2,3,4) > (5,6,7,8 )为例进行分析:
此时接着称重( 1,2,5)和( 3,4,6)- -第二次称重
1)如果(1,2,5) = (3,4,6) ,那么说明坏鸡蛋一 定在( 7,8)中,而且坏鸡蛋一牝好鸡蛋轻。接着称重( 7,8) , 轻的就是坏鸡蛋一第 三次称重
2)如果(1,2,5) > ( 3,4,6) ,那么坏鸡蛋一 定在( 1,2,3,4,5,6)中,再继续称( 2,3,5)和(1,4,7 )。
①如果(2,3,5 )=(1,4,7 ),那么说明6是坏鸡蛋。
②如果(2,3,5)>(1,4,7),
假如坏鸡蛋重,此时坏鸡蛋为( 1,2,3,4)∩(1,2,5 )∩( 2,3,5 ) =2。
假如坏鸡蛋轻,此时坏鸡蛋为( 5,6,7,8)∩(1,4,7 )∩(3,4,6) =空集。
说明坏鸡蛋一定更重,且坏鸡蛋为2。
③如果(2,3,5)<(1,4,7),那么与(2,3,5)>(1,4,7)分析方法类似。
3)如果( 1,2,5) < ( 3,4,6), 那么分析方法与(1,2,5) > ( 3,4,6)的
情况类似。
由此观,用天平称3次就可以找出坏鸡蛋。所以,选项C正确。

我觉得这样分析不太合理,因为你不知道坏的重还是轻

3、在如下6×8的矩阵中,从A点移动到B点一共有( )种走法。要求每次只能向上或者向右移动一格,并且不能经过点P。

A.492    B.494     C.496   D.498

当A->B有只要12步就能到达,但是向右走需要7步,向上走有5步,所以A->B总共的步数有C(5,12)或者C(7,12)。

但是不能经过P点,所以当A->P则需要6步,而向右只要3步,向上则需要3步,所以A->P的步数为C(3,6),

P->B则也需要6步,但是向右需要4步,向上需要2步,所以P->B则需要的步数为C(2,6)或者C(4,6);

所以总共的步数为C(5,12)-C(3,6)*C(2,6)=92-300=492种

所以答案选择A

发布了20 篇原创文章 · 获赞 21 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/jachinFang/article/details/103627575