IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

另类称球趣题:验证砝码所标克数的正确性

Matrix67: My Blog 2011-02-28 23:11:50 累计浏览 3,872 次
本机暂存

     有六个砝码,它们的重量分别是 1 克、 2 克、 3 克、 4 克、 5 克、 6 克。每个砝码上都标有这个砝码的重量,但由于生产过程中的疏忽,重量有可能被标错了。请你用天平称两次,来检验这些砝码所标克数是否完全正确。

         答案:先把标有 1 、 2 、 3 的砝码放在天平左边,把 6 放在天平右边。注意到,如果其中三个砝码的重量之和等于另一个砝码的重量,则 1 + 2 + 3 = 6 是唯一的情况。因此,假如天平平衡,那么天平左边一定就是 1 克、 2 克、 3 克的砝码,天平右边就一定是 6 克的砝码。

     但是,这只能说明, 6 克的砝码是标对了的。我们仍然不排除 1 、 2 、 3 这三个砝码之间标混了的情况,同时也不能排除 4 、 5 两个砝码标反的情况。接下来该怎么办呢?

     下一步――很难想到――是把 3 、 5 两个砝码放在天平左边, 1 、 6 两个砝码放在天平右边。如果左边比右边重,即可说明所有的砝码都标对了。这是因为,如果在 {1, 2, 3} 和 {4, 5} 中各挑一个放在一起,再在 {1, 2, 3} 里挑一个和 6 放在一起,结果前者比后者更重,那么 3 + 5 > 1 + 6 是唯一的解。这就表明, 1 、 3 、 5 这三个砝码都是标对了的。因此,余下的 2 和 4 就都标对了。

     问题来源:http://www.cut-the-knot.org/blue/6MisnamedCoins.shtml

     这是 1991 年莫斯科数学竞赛的一个问题。 Max Alekseyev 给出了这个问题的另一个答案: 1 + 2 + 5 < 3 + 6 , 1 + 3 < 5 。其正确性基于下面这一事实:满足 a + b + c < d + e 且 a + d < c 的只有上述这一个解。 Tanya Khovanova 和 Joel Lewis 对这个问题进行了扩展,有兴趣的读者可以看看这篇论文原图已失效

同分类推荐文章

  1. 对基本有序的序列排序算法 (2026-06-11 17:46:49)
  2. Four Levels Of Customer Understanding (2026-05-22 21:00:00)
  3. 除法的意义 (2026-04-12 20:52:17)

查看更多 算法 文章 →

建议继续学习

  1. 为什么算法这么难? (累计阅读 12,397)
  2. 浅谈MySQL索引背后的数据结构及算法 (累计阅读 11,904)
  3. 加州求职记 (累计阅读 11,562)
  4. 谷歌(Google)2011年校园招聘笔试题 (累计阅读 9,574)
  5. 最常被程序员们谎称读过的计算机书籍 (累计阅读 9,156)
  6. 再谈“我是怎么招聘程序员的” (累计阅读 8,792)
  7. 如何在面试中发现优秀程序员 (累计阅读 8,315)
  8. IBM面试记 (累计阅读 7,386)
  9. 数学之美:《社交网络》中Facemash算法分析 (累计阅读 7,146)
  10. 谈谈在校程序员技能培养 (累计阅读 7,115)