德梅齐里亚克砝码问题

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

我首先给出问题的答案,可能聪明的人看到答案的形式就能猜到其中的规律:1,1*2+1=3,(1+3)*2+1=9,(1+3+9)*2+1=27.

解这个问题挺有意思的,不需要什么高深的数学知识又很好玩。首先我们来参照一下人民币的币值。我们的分币有1,2,5三种币值,两两可以组成1到8之间的若干值,同样,我们在这道砝码问题中第一个要考虑的因素就是排列组合值。1,2,1+2,5,1+5,2+5,1+2+5。

此外,天平称重的另一个特性就是,砝码可以放在左右任意一个托盘中,所以我们就得到了这个问题的第二格特质:排列组合的得出的结果可以取加法,还可以取减法。这样,在上面列出的数字的基础上,我们又得到了2-1,5-1,5-2,5-1-2(就像买东西找零钱一样)。我们发现这些新的值和上面的值有重合,也就是有冗余值,我们的优化过程就是要消除这些冗余值。

好的,现在我们得到了两个数学概念:排列组合和加减法。我们将使用这两个概念来解砝码问题。首先引入两个变量,设已知的所有砝码的重量之和为M,我们要选的砝码值是x。

  1. 基本单元1是必须的了,所以第一个碎片一定是1磅;

  2. 现在M=1,能称1磅的重物;

  3. 我们要称的下一个值就是M+1=2磅,我们能选的下一个砝码中x磅,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. 下一个要称的值就是M+1=5磅,而第三个碎片重量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的规律之后,我们现在可以把原版的德梅齐里亚克砝码问题再做一下升级:摔成5个碎片的砝码问题应该是什么样子呢?

首先求得第五个碎片的重量值应该是(1+3+9+27)*2+1=81,五个碎片的总重量就是121磅。那么升级版的德梅齐里亚克砝码问题就应该是这样的:一位商人有一个121磅重的砝码,由于跌落在地而碎成5块,称得每块碎片的重量都是整磅数,而且可以用这5块来称出从1到121磅之间的任意整数磅的重物,请问这5块碎片分别为多重?

再一次升级

类似斐波那契数列,我们可以从砝码问题得到一个德梅齐里亚克数列:

1,3,9,27,81,243, … Xn …

其中Xn=2M+1.(M=X1+X2+X3+…Xn-1)

这个数列有什么意义呢?你自己想吧。

猜你喜欢

转载自blog.csdn.net/jh_zhai/article/details/80672407
今日推荐