# 2. 砝码称轻重

描述:你有8个外观完全相同的球,其中有一个球的重量与其他球不同,但不知道是更重还是更轻。使用一架天平秤,如何在最少的称重次数内确定这个特殊的球?

# 题目分析

由于我们不知道特殊球是更重还是更轻,因此在每次称重时都要尽量获得最大的信息量,以减少后续的判断次数。关键在于合理分组,并通过天平的倾斜情况缩小范围。

# 解题思路

使用三分法策略,每次称重都能最大化筛选范围:

  1. 每次将球分为三组:左盘、右盘、未称重组
  2. 根据天平的倾斜情况,逐步缩小可能的范围
  3. 最终在有限轮数内确定出特殊球及其重量差异(更重或更轻)

# 详细解法

# 第一步:第一次称重(分组称量)

将 8 个球分为三组:

  • 左盘:A、B、C
  • 右盘:D、E、F
  • 未称重:G、H

天平可能出现的三种情况

  1. 左 = 右(平衡) → 说明 A、B、C、D、E、F 均正常,特殊球在 G 或 H 中。
  2. 左 > 右(倾斜) → 说明特殊球在 A、B、C、D、E、F 之中,且要么是左盘中的某个球较重,要么是右盘中的某个球较轻。
  3. 左 < 右(反向倾斜) → 同理,特殊球在 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 在右)。
    • 可能的情况:
      1. 天平平衡 → 说明特殊球在未称重的 C、E、F 之中。
      2. 天平倾斜 → 说明特殊球在 A、B、D 之中,并且可以根据之前的称重情况推断它是更重还是更轻。

此时,无论是哪种情况,经过 1-2 次额外称重,便可最终锁定特殊球及其重量状态。

# 最少称重次数

经过以上分析,最少只需要 3 次称重 即可确定特殊球及其重量情况。

# 归纳总结

  • 核心策略:三分法,每次称重都能减少至少 1/3 的可能性。
  • 最少称重次数:3 次(log₃(8) ≈ 2.89,向上取整 3)。
  • 适用扩展:若有 27 个球,其中 1 个特殊球,最少需要 3 次称重(log₃(27) = 3)。

# 相关面试题

  • 如果是 12 个球,其中 1 个特殊球,最少称重次数是多少?(答案是 3 次,使用三分法)
  • 如果可以使用数字秤(可以直接称重),是否有更快的方法?
  • 如果有两个特殊球,如何优化称重策略?

这个问题本质上是 信息熵最大化策略 的应用,广泛用于搜索优化、问题拆解和决策树构建,是一个经典的逻辑推理题。