找次品问题是一类常见的面试问题,基本思想是用尽可能少的次数在一组零件中找出一个次品。以下是对不同类型找次品问题的总结及解决方法:
类型一:已知次品比其他零件轻或重
在这种问题中,次品比其他零件轻或者重,且我们知道次品的特性(轻或重)。解决方法通常是使用天平将零件分成三份(或接近三份),通过多次称重来确定次品的所在位置。
例子:
-
3个零件,1次称重:如果有3个零件,1次称重即可找出次品。方法是将两个零件分别放在天平两侧,轻的一侧的零件就是次品,如果平衡,未称的那个零件就是次品。
-
6个零件,2次称重:将6个零件分成3组,每组2个。第一次称重选择两组零件,轻的一组中含有次品。第二次称重在轻的一组中再选两个零件进行称重,即可找到次品。
-
10个零件,3次称重:
- 首先,将10个零件分成3组:3个、3个、4个。
- 第一次称重选择两组各3个零件。如果两组不平衡,则轻的一组中含有次品。如果平衡,次品就在未称的那4个零件中。
- 如果第一次称重后确定次品在6个零件中,则直接按照之前的方式再次分成3组(2个、2个、2个),再进行称重2次即可确定次品。
- 如果第一次称重后次品在那4个零件中,则可以将4个零件分成2组(2个、2个),再称2次,这样也可以找到次品。
通过这种方法,总共需要进行3次称重来找出次品。
零件总量 | 不超过3个 | 不超过3×3个 | 不超过3×3×3个 | 不超过3×3×3×3个 | … |
---|---|---|---|---|---|
称的次数 | 1 | 2 | 3 | 4 | … |
类型二:不知道次品是轻还是重
在这种情况下,次品可能比其他零件轻,也可能比其他零件重。这种类型的问题需要多一次称重,以确定次品是轻还是重。
例子:
-
3个零件,2次称重:第一次称重选择两个零件,如果天平不平衡,则可以知道一个零件是轻的或重的,但还不能确定次品的轻重。第二次称重再选一个零件与已知的重或轻的零件进行比较,从而确定次品。
-
8个零件,至少3次称重:
- 将8个零件分成3组:3个、3个、2个。
- 第一次称重选择两组各3个零件。如果不平衡,次品就在这6个零件中;如果平衡,则次品在剩下的2个零件中。
- 如果第一次称重不平衡,确定次品在6个零件中。将这6个零件分为2个、2个、2个,两两进行比较,至多2次,至少1次以确定不平衡的是哪两个零件,再将其与正常零件进行比较,可以得到次品,并明确轻次品还是重次品。。
- 如果第一次称重次品在2个零件中,再称一次这两个零件即可确定这两个零件孰轻孰重,再将其与正常零件做称一次可以得到次品。
通过这种方法,总共需要进行3~4次称重来找出次品并确定其轻重。
类型三:用一次称重找出次品袋子
在这个类型中,你需要在一次称重中找出一个次品袋子。通常,次品袋子中的零件重量与标准零件有轻微差异。
例子:
- 10个袋子,每袋10个零件:其中一个袋子的零件比标准零件轻1克。解决方法是:从每个袋子中取出不同数量的零件(比如第一个袋子取1个,第二个袋子取2个,依此类推)。将所有取出的零件一起称重,计算称重结果与预期的标准重量的差异,从差异的克数中可以直接得出次品袋子的编号。