n个球找一个次品
问题描述:给定n个球,其中1个球为次品。次品从外表上看与正常球一样,但重量有区别。它可能比正常球重,也可能比正常球轻。现在给你一个天平,我们的问题是,需要称几次才能将次品甄别出来?
这个问题的解答思路十分简单:就是将次品所在的范围不断地缩小,直到只有一个球为止。例如,先将所有的球分解为两个相等的部分(如果n为奇数,则无法分解为相等的部分,但本思路仍然适用),将其置于天平的两端,此时必然一端重,另一端轻。问题是我们并不知道次品是重还是轻,所以我们需要分别对每部分的n/2个球在进行一次上述这样的测试。如果平衡,则这部分的n/2个球都是正品,即次品在另外的n/2个球里,否则,次品就在这n/2个球里,这样我们就将寻找次品的范围缩小了一半。其实第一次称秤并不需要(n/2个球对n/2个球)。