经典智力题

1 称药问题

    有10罐药,其中有一罐已经变质……已知正常的药每粒10g,变质的每粒9g,那么怎样只称一次就查出哪罐变质了?

解:从10罐药中依次取1, 2, 3, 4, …, 10颗,如果药粒均为10g的话,取出的药总重是(1 + 2 + 3 + … + 10) * 10 = 550g,存在变质的话,质量小于550g,550g –称出的重量便是所属的罐子。

PS:

如果有多瓶药变质的话,又怎么才能找到变质的罐呢?

解:那么用上方法就无法解了,例如少了10g的话,可能是2和8号罐子药变质了。

在上方法中,1, 2, …, 10的编码不唯一,采用二进制编码1~10里取药,即分别取1, 2, 4, …, 512颗。如是总重量少了10g,10 = (1010),可以知道,是2号和4号罐里的药变质了。

2 称球问题

    一共12个同样的小球,其中只有一个坏球重量与其它不一样(未知轻重),给你一个天平,最少几次能找出那个不同重量的球。

解:3次;

1、  将12个球编号1~12,均分为三组,取1~4,5~8天平称重;

2、  平衡则坏球在9~12号球中;

2.1 将9、10球称;

2.2 相等则9, 11再称,相等则12坏,不等则11坏;

2.3 不等则仍9, 11称,相等则10坏,不等则9坏;

3、  不平衡,则坏球在1~8号中,不防设1~4重,5~8轻;

4、  将1,5~7放一端,8~11放另一端,称重;

4.1 相等,则2~4有一个太重;再称2和3即可;

4.2 不相等,如果1,5~7重,则1太重或8太轻,取一正常球与1或8称即可;

如果1,5~7轻,则5~7中有一个太轻,再称5和6即可。

3 赛马问题

有25匹马,速度都不同,但每匹马的速度都是定值。现在只有5条赛道,无法计时,即每赛一场最多只能知道5匹马的相对快慢。问最少赛几场可以找出25匹马中速度最快的前3名?

解:7次

1、  分5组,跑5次后能得到前五组排序好的马;

2、  用5组的第1名赛名,可以得到当前第1名的马,第4、5名的马不可以争前3。第1名组的2、3名,第2名组的1、2名,第3名组的第1名,该5匹马为争第2、3名的候选;

3、  上述5匹候选马赛跑便可得到2、3名。

参考文档:

1、  http://bj.aoshu.com/e/20080520/4b8bc901ea556.shtml

2、 http://www.cnblogs.com/sparkwen/p/3151532.html

原文地址:https://www.cnblogs.com/qiernonstop/p/3373044.html