德梅齐里亚克砝码问题

2013年5月12日sohu产品技术训练营笔试题填空题有一道题是,一个121砝码磅的砝码跌落在地上碎成5块,每块的重量都是整数,并且可以用这5块来称1至121磅之间的任意整数重物。这5块砝码重量分别是__,__,__,__,__


这是德梅齐里亚克砝码问题。
类似的题目还有:一位商人有一个40磅重的砝码,由于跌落在地而碎成4块,称得每块碎片的重量都是整磅数,而且可以用这4块来称出从1到40磅之间的任意整数磅的重物,请问这4块碎片分别为多重?

这个问题其实挺有意思的。首先我们来参照一下人民币的币值。我们的分币有1,2,5三种币值,两两可以组成1到8之间的若干值,同样,我们在这道砝码问题中第一个要考虑的因素就是排列组合值。1,2,1+2,5,1+5,2+5,1+2+5。但是我们发现这些值有重合,也就是有冗余。我们要做的就是消除这些冗余。
然而天平称重和人民币组合不同的是,砝码可以放在左右任意一个托盘中,也就是说:排列组合的得出的结果可以取加法,还可以取减法。(当时这一点在考场上就没想到,弄了半天没弄出来,最后就只填了一个1,汗)在上面列出的数字的基础上,我们又得到了2-1,5-1,5-2,5-1-2(就像买东西找零钱一样)。

现在我们得到了两个数学概念:排列组合和加减法
我们将使用这两个概念来解砝码问题。
首先引入两个变量,设当前已知的所有砝码的重量之和为M,我们要选的砝码值是x。
1.  基本单元1是必须的了,所以第一个碎片一定是1磅;
2.  现在M=1,能称1磅的重物;
3.  我们要称的下一个值就是2磅,我们能选的下一个砝码重x磅,这个2磅可以由x+M,x,x-M得来,即x可以选2-M,2,2+M,但我们发现只有选2+M之后的排列组合加减值才不会有冗余,所以x=2+M=(M+1)+M=2M+1=3;
4.  现在M=1+3=4,能称4磅及4磅以下的重物;
5.  下一个要称的值就是5磅,这个5磅可以由x+M,x,x-M得来,即x可以选5-M,5,5+M,其中只有5+M的排列组合没有冗余,而x=5+M=(M+1)+M=2M+1=9;
6.  现在的M值就是13,能称13磅及13磅以下的重物;
7.  这样推下去你就发现了,你要的下一个最优值永远是2M+1,只有这样才不会有多余的组合加减值。
第四个碎片的值是2M+1=27。而这时四个碎片的总重量是40。
第五个碎片的值是2M+1=81。而这时四个碎片的总重量是121。

我们可以从砝码问题得到一个德梅齐里亚克数列:1,3,9,27,81,243, ... Xn ...
其中Xn=2M+1.(M=X1+X2+X3+...Xn-1),并且X1,X2,X3....Xn...可以通过加减法表示出1至(X1+X2+X3+...Xn)之间的任意整数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值