13 个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球?

面试智力题

13 个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球?


前言

这道题是来自一道微软的面试题,并且无论是12个球还是13 个还是n个球这类型题都是有公式,有法可循的,我们在文字末尾给出其公式通解。


一、分组:究竟是661还是445

那么对于这道题很多人会自然想到二分法,但是你去尝试你会发现3次机会判断不出来。那么为什么呢? 因为坏球是比正常的轻还是重我们不知道!!!!
接下来我们验证一下13个分成6个(A1A2–A6) 和 6(B1B2—B6) 和 1.
如果第一次比较6 个和 6 个碰巧相等,自然知道那1个有问题
如果判断不出来假设结果A6个>B6个接下来坏球具体在A还是B我们无法确定的无法通过2次机会找出来
因此
我们采用三分 4 4 5

二、判断过程

1.第一种情况:两个4份的重量不等

两个4份的重量不等,就说明坏球在这8个之中,剩下的5个全部正常(坏球轻重依然布吉岛)
这时我们开始进行编号重的四个编号A1,A2,A3,A4。轻的编号B1,B2,B3,B4

接下来进行灵魂操作A1A2B1一组和A3A4B2比较
在这里插入图片描述

如果坏球是轻的

那么说明坏球在B里导致B四个轻,并且A1A2A3A4都是正常的。
因此!!!A1A2B1一组和A3A4B2比较的结果就是B1和B2的比较结果
如果B1!=B2,那么轻的就是坏球如果相等
接下来比较B3B4的轻的就是怀球

如果坏球是重的

那么说明坏球在A里,导致A比B重。
此时A1A2B1和A3A4B2比较的结果就是A1A2和A3A4的比较结果
谁重谁有坏球A1A2>A3A4的话那么坏球在A1A2之间
在比较一次A1A2重的就是坏球

2.第二种情况:两个4份的重量相等

这种情况就说明这8个都是正常的,坏球在剩下5个之间(编号C1C2C3C4C5)。
那么这里在天平左边任取三个正常的球,右边也任取三个假设C1C2C3。

如果相等则问题出现在C4C5中,(这里不知道坏球轻重无法用C4C5直接比较),我们用正常球和C4比较如果相等则C5坏球,不等则C4是坏球

如果不相等,说明坏球在C1C2C3之中,并且我们也能根据结果判断出坏球的轻重。如果C1C2C3重说明坏球重,接下来直接用C1和C2比较重的自然就是坏球,相等就、说明C3是坏球


通项公式

其实对于n个球里有一个坏球并坏球不知轻重有公式可以求得至少需要几次:

结论:现有N个小球,其中有一个坏球不知比标准球轻还是重。
我们令H={log3(2N)}。
1)要保证在N个球中找出坏球并知道其轻重,至少需要称H次。
 假设N≠2,我们有
2)如果N<(3H-1)/2,那么称H次就足够了;
3)如果N=(3H-1)/2,那么称H次足以保证找到坏球,但不足以保
 证知道坏球比标准球轻还是重;
4)如果N=(3H-1)/2,而且还另有一个标准球,那么称H次足以保
 证找到坏球和知道,知道坏球比标准球轻还是重。
 假设N=2,我们有
5)如果还另有一个标准球,称H={log3(2*2)}=2次足以保证找到
 坏球和知道坏球比标准球轻还是重。

想要了解具体原理的可以参考博客https://blog.csdn.net/lin13/article/details/1217865

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李 天 真

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值