# 2. 砝码称轻重
描述:你有8个外观完全相同的球,其中有一个球的重量与其他球不同,但不知道是更重还是更轻。使用一架天平秤,如何在最少的称重次数内确定这个特殊的球?
# 题目分析
由于我们不知道特殊球是更重还是更轻,因此在每次称重时都要尽量获得最大的信息量,以减少后续的判断次数。关键在于合理分组,并通过天平的倾斜情况缩小范围。
# 解题思路
使用三分法策略,每次称重都能最大化筛选范围:
- 每次将球分为三组:左盘、右盘、未称重组
- 根据天平的倾斜情况,逐步缩小可能的范围
- 最终在有限轮数内确定出特殊球及其重量差异(更重或更轻)
# 详细解法
# 第一步:第一次称重(分组称量)
将 8 个球分为三组:
- 左盘:A、B、C
- 右盘:D、E、F
- 未称重:G、H
天平可能出现的三种情况:
- 左 = 右(平衡) → 说明 A、B、C、D、E、F 均正常,特殊球在 G 或 H 中。
- 左 > 右(倾斜) → 说明特殊球在 A、B、C、D、E、F 之中,且要么是左盘中的某个球较重,要么是右盘中的某个球较轻。
- 左 < 右(反向倾斜) → 同理,特殊球在 A、B、C、D、E、F 之中,且要么是左盘中的某个球较轻,要么是右盘中的某个球较重。
# 第二步:第二次称重(继续筛选)
根据上一次称重结果,进一步缩小范围。
情况 1:G、H 中有特殊球
- 让 G 和正常球 A 进行比较。
- 如果 G = A,则 H 是特殊球,且它要么更重要么更轻。
- 如果 G ≠ A,则 G 是特殊球,且可以直接判断它是更重还是更轻。
- 总计 2 次称重可确定特殊球及其重量情况。
情况 2/3:特殊球在 A、B、C、D、E、F 中
- 从中取 3 个球(例如 A、B、D),放在天平两侧(A、B 在左,D 在右)。
- 可能的情况:
- 天平平衡 → 说明特殊球在未称重的 C、E、F 之中。
- 天平倾斜 → 说明特殊球在 A、B、D 之中,并且可以根据之前的称重情况推断它是更重还是更轻。
此时,无论是哪种情况,经过 1-2 次额外称重,便可最终锁定特殊球及其重量状态。
# 最少称重次数
经过以上分析,最少只需要 3 次称重 即可确定特殊球及其重量情况。
# 归纳总结
- 核心策略:三分法,每次称重都能减少至少 1/3 的可能性。
- 最少称重次数:3 次(log₃(8) ≈ 2.89,向上取整 3)。
- 适用扩展:若有 27 个球,其中 1 个特殊球,最少需要 3 次称重(log₃(27) = 3)。
# 相关面试题
- 如果是 12 个球,其中 1 个特殊球,最少称重次数是多少?(答案是 3 次,使用三分法)
- 如果可以使用数字秤(可以直接称重),是否有更快的方法?
- 如果有两个特殊球,如何优化称重策略?
这个问题本质上是 信息熵最大化策略 的应用,广泛用于搜索优化、问题拆解和决策树构建,是一个经典的逻辑推理题。