偶然在论坛上看到这么一个帖子:
有11个乒乓球,其中有一个球是伪劣产品并存在质量或轻或重的问题,
现有一没有砝码的天平,【只能称3次】把那个假货给称出来。
开始时,我死活想不到,每次都要用四次方法。
但值得欣慰的是当我完成这道题后,提出了这样的问题:
有m个乒乓球,其中有一个球是伪劣产品并存在质量或轻或重的问题,
现有一没有砝码的天平,允许称4次就把那个假货给称出来,则m最多是?
更一般的:有m个乒乓球,其中有一个球是伪劣产品并存在质量或轻或重的问题,
现有一没有砝码的天平,允许称n次就把那个假货给称出来,则m最多是?
当n=2时,最多是3个,
当n=1时,即使放两个球无法称出,如果只有一个球,也就不需要称量,同时也就不符合实际意义了。
根据上面的求解,知道当n=3时,最多11个。从而推断出这些球的个数为奇数(奇偶效应)
容易想到当n=4时,有21(它可以看做2*11-1)个球可以称出。
可以分成5,5,11
如果平衡,可以转化为当n=3的情况;
如果不平衡,证明剩余11个全都是合格产品,从中任取一个,5,5放到一起,又构成11球,进而也转化成当n=3的情况。
如果在n=4的情况下,放23球或跟多,就没有办法了。
于是,由21的构造方法,归纳出这样一个数列:
n:2, 3 , 4, 5, 6, 7, 8,....
m:3,11,21,41,81,161,321,641,...
为了探究其规律,将第一组数据删除,利用MATLAB进行数据拟合。代码如下:
x=3:8;
y=[11,21,41,81,161,321,641];
p=plotfit(x,y,6);
xlabel('x');
ylable('y');
plot(x,p,‘-*’)
曲线略
下面用数学方法推导:
根据其构造过程,知
后一项比前一项的2倍少一,得道递推数列递推公式。
然后,利用不动点法,迭代法及错位相减法
便可得到结果,不妨动手试试。
对于这个问题,我很感兴趣,我是这样做的,但还不够完善。
首先,把11个球分成三堆,分别为3,3,5 ,把数目是3的两堆分别放到天枰的左右两盘上。
1.如果天枰倾斜:
不失一般性,假设左盘下沉,证明剩余五个全都是合格产品。
在5个里面任取出3个,用其替换右盘的3个球,进行第二次称量。
1.1).如果天枰平衡,证明不合格产品在被替换的3个球里面,并且推得次品的质量比合格产品轻。
再取出被替换的3个球中的任意两个球放到天枰的左右两盘上,进行第三次称量。
如果天枰倾斜,不失一般性,假设左盘下沉,则右盘那个就是次品;否则,余下的那个是次品。(*)
1.2).如果天枰倾斜,证明次品就在左盘上,并且推得次品质量比合格产品重。
再利用方法(*),类似得可找到次品。
2.如果天枰平衡:
说明此时左右两盘均为合格产品,次品在剩下的一堆里。
在5个里面任取出3个,用其替换右盘的球,进行第二次称量。
2.1).如果天枰平衡,推得次品在第三堆中剩下的2个产品里,取出1个,
然后以其他9个中任意1个球为砝码,进行第三次称量。
如果天枰倾斜,不失一般性,假设左盘下沉,则左盘那个就是次品,它的质量比合格产品重;否则,未被取的那个是次品,它的质量比合格产品轻。
2.2).如果天枰倾斜,证明次品就在右盘上,并且可以根据哪个盘下沉,推出次品与合格产品的关系。如果左盘下沉,则次品的质量比合格产品轻;否则,次品的质量比合格产品重。
再利用方法(*),类似得可找到次品。