1. 题目

“在12个小球里有一个次品,重量与其他11个球不同。用一个没有砝码的天平,称3次,保证找到那个次品,并且区分出次品是轻还是重呢?”

这个问题看似简单,做起来还真不容易。

误区:也许有人说:我可以用二分法,先把球均分成两堆,上天平比较,找到重的一堆,次品就在这里。再把重的一堆均分成两堆,上天平比较…这样,每次就能把球去掉一半,就能最快找到次品啦!这样子会很慢。

2. 原理解析

分析一下原理: 12个球,每个球有重了,轻了2中状态,也就是一共有12 x 2 = 24 种状态。称一次实际上可以区分3中状态,平衡,重,轻。
比如把球分成3堆A,B,C。称的结果解析:

  1. 平衡。A == B, A和B中都是好球, 也就是C中有次品;次品可以是重,也可以是轻。
  2. 左边倾斜。A > B, C中都是好球, 也就是A 或者 B中有次品,次品可以是重,也可以是轻。
  3. 右边倾斜。A < B, C中都是好球, 也就是A 或者 B中有次品,次品可以是重,也可以是轻。

假如每次称重都是区分3中状态,3次称重可以区分27种状态 3^3 = 27。 因为有24种状态,所以理论上可以称3次找出次品。如果是14个球,状态就有28种,称3次就无论如何都找不出来了。

定义称几次为K,球的个数为N,理论中可以有解的公式如下, 3的K次方 大于等于 2N

3 ^ K >= 2N

3. 解题步骤


第一次称重可能会有三种不同的结果,我们根据不同的结果再进行后两次称重。

首先,考虑第一种平衡的结果,下一步我们从A组中取出三个正品球与C组中9、10、11号球称重。

考虑第二种左重的结果,下一步我们从C组中取出三个正品球替换A组中2、3、4号球,然后将2、3、4号球替换6、7、8号球。

同理,考虑第三种右重的结果,下一步我们从C组中取出三个正品球替换A组中2、3、4号球,然后将2、3、4号球替换6、7、8号球。

参考

https://zhuanlan.zhihu.com/p/386160442
《计算之魂》-- 吴军

Google面试题原理解析 12个乒乓球其中有1个次品,用天平称重3次找出相关推荐

  1. 12个乒乓球,其中有11个球每个球重量一模一样,另外1个球重量和那11个球不一样.用天平称三次,把单独的球(和那11个重量不一样的球)找出来

    12个乒乓球,其中有11个球每个球重量一模一样,另外1个球重量和那11个球不一样.用天平称三次,把单独的球(和那11个重量不一样的球)找出来 代码展示 import random a = random ...

  2. 思维题:12个硬币中有1个假币,假币的重量与真币不同,如何用天平最多称量3次找出假币?

    问题描述 12个硬币中有1个假币,假币的重量与真币不同,如何用天平最多称量3次找出假币? 问题分析 12个硬币有24种情况,天平有左斜,右斜和平三种情况,log3(n) >= 24,求得n=3, ...

  3. 12个球,其中一个和其他的重量不一样,有一个天平,最多几次找出这个球

      12个球,其中一个和其他的重量不一样,有一个天平,最多几次找出这个球 将球编号,分成3组,1234  5678  9101112 第一次将1234,5678放在天平的两边 如果平衡,则坏球在910 ...

  4. 12个球,其中有1个坏球和其他11个重量不一样,给你一个天平,称3次,找出不一样的那个

    很常见的一道逻辑题,只使用已知条件,不借用其他外力. 设12个球分别是:A1,A2,A3,A4,B1,B2,B3,B4,C1,C2,C3,C4 第一次称:天平两侧分别是,左侧:A1,A2,A3,A4, ...

  5. 12个乒乓球称重问题

    问题: 有12个乒乓球,其中有一个次品,不知道轻重,用一台无砝码天平称三次,找出次品并告知轻重,怎么称? 解答: 先分3组,每组4个,随便拿两组来称第一次: 情况1:天平平衡, 则在剩下的4个球里,从 ...

  6. 面试智力题 - 找出12个球中质量不同的小球

    面试智力题 - 找出12个球中质量不同的小球 面试被问到了这么一道智力题. 现在有12个外观完全相同的12个小球,已知其中一个小球质量和其他的11个不同.用一个天平称3次,找出这个质量不同的小球,并说 ...

  7. Google 面试题和详解

    Google的面试题在刁钻古怪方面相当出名,甚至已经有些被神化的味道.这个话题已经探讨过很多次,而科技博客 BusinessInsider这两天先是贴出15道Google面试题并一一给出了答案,其中不 ...

  8. 2018年上半年网络工程师综合试题视频解析-乔俊峰-专题视频课程

    2018年上半年网络工程师综合试题视频解析-1209人已学习 课程介绍         做历年试题的目的究竟是为了对答案还是预测未来考试?通过乔俊锋老师的引领,在2018年5月的试题中,有60多到题目 ...

  9. 前苏联奥数题之12个乒乓球问题解答

    /*问题:用一台没有砝码的天平再称三次的情况下找出12个乒乓球中的一个次品 add by liuyong at 2021 04 25 10:33 */ var pingpang = [1, 2, 3, ...

最新文章

  1. 更换checkbox的原有样式
  2. android实现日志列表,【Android开发】listview+popupwindow实践:日志列表
  3. linux查进程内存问题,关于linux下内存问题排查的工具
  4. 【转】android实现退出整个工程
  5. python插入排序_python简单的实现插入排序和二分插入排序
  6. Gambit学习2-曲面挖洞
  7. Hadoop集群配置(二)免密登录和集群配置
  8. 随机森林python反欺诈_基于三明治结构深度学习框架的金融反欺诈模型研究与应用...
  9. 微信小程序超级占内存_微信小程序彻底拯救16GB手机 小程序与APP占用内存对比...
  10. 档案管理系统项目总结
  11. 嵌入式开发日记(3)——利用Python接收并处理JY61传感器数据
  12. RANGE MINIUM/MAXIUM QUERY问题
  13. volatility用法
  14. iOS 图片模糊效果(高斯模糊)
  15. 干货 | 京东云域名注册及备案最佳实践
  16. 2019年十大让人欲罢不能的消费潮流 | 财见年终观察
  17. 程序员必备的5个工作技能
  18. 【无标题】26-时尚精品服饰网店响应式网页模板
  19. 001 《两、三位数除以一位数,笔算》三年级下
  20. 生物信息学 陈铭_生物信息学Bioinformatics-山东大学课程中心.PDF

热门文章

  1. LotWan-单边加速的广域网加速系统
  2. 上海理工大学光电信息与计算机工程学院在哪个校区,上海理工大学光电信息与计算机工程学院特聘教授学术报告...
  3. 关于带新人和作新人。
  4. phantomjs 配置和使用_PhantomJS 配置指南
  5. Python以一定的概率生成某个数
  6. 破解网页中禁止复制、粘贴的一种方法
  7. c语言 排班系统,c语言程序 ABCDEFG七位医生排班
  8. 计算机组成原理-计算机系统概述
  9. 算法大师:Donald E. Knuth
  10. 成都真的挺好的,但是求求你们别来了