原题:
法国数学家梅齐亚克在他著名的《数字组合游戏》(1962)中提出了一个问题:一位商人有一个重40磅的砝码,一天不小心将砝码摔成了四块。后来商人称得每块的重量都是整磅数,而且发现这四块碎片可以在天平上称1至40磅之间的任意重量。请问这四块碎片各重多少?
我的解:
显然我们可以有如下合理的假设:
这四块的重量分别:a,b,c,d;且有:1<=a<=b<=c<=d<=37。(a,b,c,d都是整数)
因为这四个碎片可以称得1到40中的任意重量,则可以得到a=1,否则39就没法称了。
39=b+c+d
38=b+c+d-a
另外,d<30,否则,10到20间的数表示不了。
所以有式子: 1=a, b<=c<=d<=29
我的解法就是此数类推得到最后一种可能:1 3 9 27
不过由此我倒是得出了一个数学结论:
有数a[1] a[2] ...a[n],它们是从小到大排列的整数,且a[1]=1,有a[i+1] = 2(a[1]+...+a[i])+1,则:这组数总是存在一个组合,可以表示从1到(a[1]+...+a[n])中的任意一个整数,其中组合中的每个数的系数只能是0,1或-1,即数最多可被使用一次。
这里给出一个小小的证明:
1,显示这组数可以表示1,有a[1]=1
2,假如一直到数K都可以被表示,其中1<=K<a[1]+...+a[n],且有
K = c1 *a[1]+...+cn*a[n],其中 (c1...cn是0,-1,1中的一个数)
则对于K+1有:
K +1 = c1 *a[1]+...+cn*a[n] + 1
= c1 *a[1]+...+cn*a[n] + a[1]
= (c1+1)*a[1]+...+cn*a[n]
i. 这里分情况讨论了,当c1=0或-1的时候,结论成立,得证
ii.当c1 = 1的时候,则
K+1 = 2a[1] +c2*a[2]+ ...+ cn*a[n]
= (a[2] -1)+c2*a[2] +...+cn*a[n]
= -a[1] + (c2+1)*a[2] + ... + cn*a[n]
按a[1]的方式对a[2]进行讨论,否则以此类推。
因为K<a[1]+...+a[n],则c1...cn中必有数为0或者-1,假如第ci为0或-1
则可以得到 K+1 = -a[1] - a[2] -...-a[i-1] + ci'*a[i] + ...+ cn*a[n]
其中ci'=0或1。此时表达式符合题设要求。结果得证