称重问题在很多时候都会被考到,比如各类笔试,面试,在碰到这种题目的时候我们是不是有一种万能的解决方案呢?因为题目变化很多,出题技巧非常灵活,不掌握好其解题思路,就算下次再碰到还是会无从下手。

称重问题

问题一:12个小球一模一样,其中一个质量与其他不同(不知轻重),现有天平一个,如何3次称出哪个小球质量不同?

经典的天平称重问题,说实话在看答案前我也没有想到这题的答案是如此复杂,看了之后一想,其实这其中的技巧是非常灵活的,可以举一反三。我们来分析一下,首先天平称三次,每次有3个状态,所有总共可以有3^3 = 27 种不同的结果,其中三个都平是不可能的,所以总共有26种情况,其中,还有两种特殊情况,就是天平三次都是一边倒,这种情况还是无法分辨小球是轻是重的,所以再减去两种情况,还剩24种。而小球有12个,其中一个或轻或重,共有12 * 2 = 24 种可能,既然天平可以得出26种结果,那么这24种情况是可以用天平表示出来的。

接下来该怎么做?首先我们列出这24种天平的情况(版幅有限,不一一列举):

左重   平      右重
左重   左重    右重
平     平      左重
……

然后把各个小球填到以上情况中去,假如“小球1轻”填到第一种情况,那么根据结果,小球1应该放在“右,无,左”,因为相对性,“小球1重”会被填到“右重,平,左重”这个情况。以此类推,直到把所有情况都填满即可。

这种思路适用范围非常广,根据结果的展示情况来把测量方案补充完整。那么我们再来看看另一个问题。

问题二:有5个瓶子(数量可以任意变化)存有药丸,可能有些瓶子(0个或者多个)的药丸(数量很多)被污染,已知被污染的药丸质量会增加1克,现用一精确的电子秤一次称出哪些瓶子的药丸被污染。

这是一道看起来非常难的题目,难在情况有多种,5个瓶子都有可能被污染,而且数量也不确定,称量次数却限制在了一次。对于这个题目,学过计算机,学过二进制的人可能会想到这个方法。5个瓶子,每个瓶子都有2种情况(污染和非污染),就像一盏灯,有亮着和暗着两种情况,总共有2^5 = 32 种情况,那么我们用数字1表示污染,数字0表示非污染,那么这个排练01001,就表示2,5号瓶子被污染了,01001这个二进制又可以转化成十进制9,所以这32种情况可以用十进制的数0-31来表示出来。

接下来就是如何称出这0-31的情况,已知药丸污染后质量增加1克,对于01001这种情况,2,5号瓶子被污染,对应十进制为9,所以2号瓶应该出2^3 = 8 个药丸,5号瓶出2^0 = 1 个药丸,对应的1号出2^4 = 16 个,3号出2^2 = 4 个,4号出2^1 = 2 个,就可以一次称出各种情况了。

这两道题目对于初次接触的人来说是挺难的,但主要思路是根据测试所能得到的情况来构造测试方案,希望这个思路能在以后帮到大家。