n个小球t次跳出问题球的算法问题

本文为转载,原文章地址为: http://tieba.baidu.com/f?kz=417490487 ,在此感谢原作者-'小镇之月光''的贡献。

有12个球,其中有1个球是次品,重量与其他球不同。现在有一个没有砝码的天平,要求称3次,将次品球挑出,并说出是轻是重。

此题答案网上到处都有,在此就不作详解了。

我们现在要讨论的问题是。遇到类似的题目,是否能够找到一种通解呢?

首先我们来看第一类题(有1个异常球,且已知轻重):
1-1:有9个球,其中1个球是次品,质量比其他球都要重。现在有一个没有砝码的天平,要求称2次,将次品球挑出,请问应当如何操作。
解:本题非常容易。将9个球分别编号为1-9。
第一次:1、2、3-4、5、6 空闲:7、8、9
如果左边重:
则有如下三种情况:1重,2重,3重。
如果右边重:
则有如下三种情况:4重,5重,6重。
如果一样重:
则有如下三种情况:7重,8重,9重。
此时将3个疑似重球(以下简称重球)中的2个放于天平两端,如天平不平,则重的那一头是次品球。如果一样重,则剩下的1个是次品球。

现在我们对1-1题做个推广。

1-2:有n个球,其中1个球是次品,质量比其他球都要重。现在有一个没有砝码的天平,要求称t次,将次品球挑出。请问能否做到?
解:将n个球分别编号为1-n。
我们首先来分析结果的可能性数目(以下简称判断)。共有n种,即从1重、2重一直到n重。而每一次称,都会出现三种结果:左重,左轻,左右等重。则

t次之后,共至多会出现3^t种情形。我们所要做的,就是合理放置球,使得每一种判断都有一个情形对应,且一个情形至多对应一种判断。
因此当3^t>=n时,可以做到,否则不能。

现在我们再来分析1-1。我们要做的不是找到题目的答案,而是运用刚才的思维方法。

解:将9个球分别编号为1-9。可见共有9种判断。
由于可以称2次,因此共有3^2=9种情形,9>=9,因此本题有解。
首先,在第1次称完后,至多会出现3种情形。设每一种情形为所对应的所有的判断集合。则这些情形的并集必是全集,且这些情形两两之间没有交集。
我们知道,还剩下2-1=1次称量的机会,而1次称量至多可产生3种情形,即最多可分辨3个判断。
现在开始解题。第一步需要思考的是,左边放几个球,右边放几个球。空闲几个球。
由于当左右所放的球数目不相等时,只会出现球多的一边重1种情形,显然不可取。
所以,天平两边应放置数目一样的球。
接着考虑空闲几个球。如空闲m个球,则当天平两端相平时,共有m种判断,m<=3^(2-1)=3,所以m至多为3。
而天平两端各放a个球,由于左边重和右边重对称等价,因此2种情形各对应a种判断。a<=3^(2-1)=3,所以a至多为3。
又2a+m=9,所以a=m=3,天平两边各放3球,空闲3球。
接下去运用这样的思路,即可得出正解。

现在我们来看第二类题(有1个异常球,轻重未知):
2-1:有12个球,其中1个球是次品,质量与其它球不同。现在有一个没有砝码的天平,要求称3次,将次品球挑出,请问应当如何操作。
解:将12个球分别编号为1-12。可见共有1重、2重、……12重、1轻、2轻、……12轻,共24种判断
而3次称量,共会产生27种情形,27>24,所以本题有解。
接着考虑左右各放几个球,空闲几个球。
设各方a个球,空闲m个球,由于当天平两端等重时,次品球必在,m个球中,则有2m种判断。而剩下2次称量机会,即至多有9种情形,所以2m<=9,m至多

为4。
当天平2边不等重时,由于对称等价,不妨设左边重,则有左边a球重和右边a球轻共2a种判断。2a<=9,所以a至多为4。
又2a+m=12,所以a=m=12,两边各放4球,空闲4球。
1、2、3、4-5、6、7、8 空闲:9、10、11、12
第二次;
当左边重(右边重同理,不作分析),有1重、2重、3重、4重、5轻、6轻、7轻、8轻,共8种判断。将9、10、11、12这4个正常球剔除。
现在考虑8个球中,左右各放几个球,空闲几个球。

由于剩1次称量机会,故最多可空3个球。而天平两端放球需相等。且左边重和右边重至多各包括3种判断。所以至少需空2球。

如果空2球。则有2重空法。
第1种,空1轻1重,设空4和8。此时剩下3重3轻。可知有一边至少有2个重球。设1、2在1侧。
如果3重-3轻,则没有右边重的情形,显然不正确。
如果2重1轻-2轻1重,如1、2、5-3、6、7,则当左边重时,有1重、2重、6轻、7轻4种判断,4>3所以也不正确。
所以必须空2轻或者2重。
设空2轻(7、8)。则留下1、2、3、4、5、6。
如果3重-1重2轻,当左边重时,有5种判断,5>3,不正确。
如果2重1轻-2重1轻,则左边重和右边重各有3种判断。第三步将疑似球中的2重相互比较,即可得出结果。如果一样重,2轻之间相互比较即可得解。

通过以上分析,我们可以知道。解答此类问题的关键有2点:
1。判定天平两边各放几个球,空闲几个球。
2。凑出称量方法,使得三种情形均包含小于3^x种(x为剩下称量次数)判断。
而这种凑出也是有技巧的,就是利用对称等价原理,使两边疑似性质等同的球数目相同(如前面两边都是2重1轻),而空闲的球疑似性质均相同。

现在来讨论13个球的问题。
2-2:有13个球,其中1个球是次品,质量与其它球不同。现在有一个没有砝码的天平,要求称3次,将次品球挑出,请问应当如何操作。
解:将13个球分别编号为1-13。可见共有1重、2重、……13重、1轻、2轻、……13轻,共26种判断,26<27,本题有解。
天平2端最多共9球,而最多空4球,所以天平上必须有9个球,所以必须借助一个标准球才能解题。
此后的过程近似于2-1,不在详述。

由此可以推广出一个结论:有n个球,其中1个球是次品,质量与其它球不同。现在有一个没有砝码的天平,要求称t次,将次品球挑出。则当3^t>2n时,

本题有解。且当且仅当3^t=2n+1时,需要1个标准球辅助。(证明略)

最后来看第三类题,也是更加有难度的题目(2个异常球,1轻1重,和的轻重已知):
3-1:9个一模一样的小球,其中7个正常球重量一样,但是另外有1个偏重,1个偏轻,而且这个球加一起又和2个正常球一样重,给你一架没有砝码的天平

,称量4次把这两个非正常球找出来,并说明哪个重哪个轻。
解:
将9个球分别编号为a-i。可见共有a重b轻、a重c轻、a重i轻、b重a轻、……i重h轻,共72种判断
而4次称量,共会产生81种情形,81>72,所以本题有解。
运用以上思路,可很快得出答案。希望大家自己尝试一下。

答案公布如下:

第一次:abc-def 空闲:ghi

如果一样重,则第二次:adg-beh 空闲:cfi

显然不可能一样重

设左边重:
a重b轻,a重c轻,c重b轻,d重e轻,d重f轻,e重f轻,g重h轻,g重i轻,i重h轻

第三次:
abd-efg 空闲:chi
如左边重:
则有:a重c轻,d重e轻,d重f轻
第四次:e-f。如e重,则d重f轻;如f重,则d重e轻;如一样重,则a重c轻。

如右边重:
则有:c重b轻,g重h轻,g重i轻
第四次:h-i。如h重,则g重i轻;如i重,则g重h轻;如一样重,则c重b轻。

如一样重:
则有:a重b轻,e重f轻,h重i轻
第四次:a-e。如a重,则a重b轻;如e重,则e重f轻;如一样重,则h重i轻。


现在来看第一次不是一样重的情况。
不妨设abc>def 空闲:ghi

第二次:adg-beh 空闲:cfi

如果左边重:
则a重e轻,a重f轻,a重h轻,a重i轻,c重e轻,c重h轻,g重e轻,g重f轻,i重e轻。
如果右边重:
则b重d轻,b重f轻,b重g轻,b重i轻,c重d轻,c重g轻,h重d轻,h重f轻,i重d轻。
如果一样重:
则a重d轻,a重g轻,g重d轻,b重e轻,b重h轻,h重e轻,c重f轻,c重i轻,i重f轻。

可以看到,左边重和右边重的情况是对称的。因此不讨论右边重的情况。

当左边重时:
第三次:abe-dfg 空闲:chi
如左边重:
则有:a重f轻,a重h轻,a重i轻
第四次:f-h。如f重,则a重h轻;如h重,则a重f轻;如一样重,则a重i轻。

如右边重:
则有:c重e轻,g重e轻,i重e轻
第四次:c-g。如c重,则c重i轻;如g重,则g重e轻;如一样重,则i重e轻。

如一样重:
则有:a重e轻,g重f轻,c重h轻
第四次:a-g。如a重,则a重e轻;如g重,则g重f轻;如一样重,则c重i轻。

当一样重时:
第三次:adh-bei 空闲:cdf

如左边重:
则有:a重g轻,h重e轻,c重i轻
第四次:a-h。如f重,则a重g轻;如h重,则h重e轻;如一样重,则c重i轻。

如右边重:
则有:b重h轻,g重d轻,i重f轻
第四次:b-g。如b重,则b重h轻;如g重,则g重d轻;如一样重,则i重f轻。

如一样重:
则有:a重d轻,b重e轻,c重f轻
第四次:a-b。如a重,则a重d轻;如b重,则b重e轻;如一样重,则c重f轻。

解答完毕。

由此推广,大家来尝试一下这道题目;
3-2:9个一模一样的小球,其中7个正常球重量一样,但是另外有1个偏重,1个偏轻,而且这个球加一起比2个正常球轻,给你一架没有砝码的天平,称量

4次把这两个非正常球找出来,并说明哪个重哪个轻。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值