经典面试题iOS Developer@IT·互联网

经典面试题4 - 找出瑕疵球

2016-06-27  本文已影响467人  豆志昂扬
与众不同

问题:
你有10箱球(每个正常球的质量是10克),而其中一箱球都是有瑕疵的(有瑕疵球的质量是9克)。给你一个电子秤和一次称量的机会,如何设计称量方案可以确定哪个箱子的球有瑕疵?

解答:
为了方便,我们给箱子标记为1到10号。

想解决这个问题,我们要利用已知的知识:每个正常的球的质量是10克,有瑕疵球的质量是9克。

大部分人本能地会从一个箱子里拿出一个球,然后去琢磨如何利用这10个球。可题目的窍门就在于从箱子里拿出不同数量的球。

首先我们从每个箱子拿出和箱子号码等数量的球,比如,1号箱子拿出1个球,2号箱子拿出2个球... 这样我们总计拿出55个球。

如果所有的球都没瑕疵,称重总计 55 x 10=550 克。

如果1号箱子是瑕疵的球,那么总重应比期望的重量少1克,因为只有1个球是9克,其余的球是10克。

如果2号箱子是瑕疵的球,那总重应比期望重量少2克。

......

以此类推,如果是9号箱子是瑕疵的球,那总重比期望重量少9克。

所以当你最终称量出选中的55个球的总质量,计算出这个质量和期望质量的差值,而这个差值就是有瑕疵球箱子的号码。

<blockquote> 如果你真的看懂了,请点赞。 </blockquote>

推荐阅读

经典面试100题 - 持续更新中

上一篇下一篇

猜你喜欢

热点阅读