————怀念我曾经参加过的小学数学竞赛。

从一道小学竞赛题谈起

笔者小学五年级时参加了第一次数学竞赛,叫“育苗杯”,大多数题目都记不清楚了,唯一记得很清楚的是如下这道题目(不完全相同,意思类似):

假设汽水一块钱一瓶,而且4个空瓶子可以换一瓶汽水喝。如果我有30块钱,我最多可以喝到多少瓶汽水?

来瓶汽水吧.jpg当然,上面的情况可能太理想了,但是必须承认,类似的案例在生活中大量存在。比如买草龟吃时,草龟壳由于可以入药,所以有人回收龟壳,这也意味着若干个龟壳就可以换一只龟,等等。读者能不能很快就算出来呢?

当然,这道题并不困难,30块钱能买30瓶汽水,然后留下30个空瓶子,这30个空瓶子可以换来7瓶汽水,剩下2个空瓶子;喝完汽水后,剩下9个空瓶子,可以换来2瓶汽水,剩下1个空瓶子;喝完汽水后,剩下3个空瓶子。算算看,这时候我们已经喝了30+7+2=39瓶汽水了。(不考虑撑着啊,也可以分给别人喝^_^)整个过程如下表:
$$\begin{array}{c|cccc}
\hline
\text{空瓶子数} & 30 & 2+7 & 1+2 & ? \\
\hline
\text{已喝汽水数} & 30 & 7 & 2 & ? \\
\hline \end{array}$$

这是不是最终答案呢?似乎是,我们还剩3个空瓶子,换不了汽水了。然而,神奇的一招是——先去“赊”一瓶汽水来,喝完后就有4个空瓶子了,拿这4个空瓶子去抵债!所以正确答案是40瓶!巧妙吧?请不要考虑允不允许赊账的问题,这里的问题是“最多”,因此,至少理论上是可以的。这里考我们的就是除了计算,更多的还是创意!(笔者为什么还记得那么清楚?因为笔者当时很没创意地做错了~~)

喝完汽水了,我们可以从另外一个角度分析问题,首先可以这样考虑,4个空瓶子,换来1瓶汽水喝,喝完后就留下1个空瓶子,这也就意味着相当于3个空瓶子换来1瓶“纯汽水”(不带瓶),这样子的话,我们的30个空瓶子,可以换来10瓶“纯汽水”,所以立马就得到答案是30+10=40瓶汽水了
$$30+30\div (4-1)=40$$

再来一个角度,我们可以考虑空瓶子的价值,这个角度更容易推广。空瓶子可以换汽水,这表明空瓶子是有价值的。也就是说,一瓶汽水的单价1元,事实上包含了“纯汽水”的单价($x$)和空瓶子的单价($y$),即$x+y=1$;其次,4个空瓶子可以换一瓶汽水,这也意味着4个空瓶子的价值就是1元,即$4y=1$,那么可以算得$x=3/4$,就是说一瓶“纯汽水”的价格实际为$3/4$元!我们有30元,希望全部换成“纯汽水”(就是说我只管喝汽水,不要瓶子),那么就可以喝到$30\div (3/4)=40$瓶!

加强版的换汽水

上述问题还可以进一步推广:

假设汽水一块钱一瓶,而且4个空瓶子可以换一瓶汽水喝,或者8个盖子也可以换一瓶汽水喝。如果我有30块钱,我最多可以喝到多少瓶汽水?

现在一瓶汽水被分为三个部分了:纯汽水、空瓶子、盖子。问题复杂化了,要注意空瓶子、盖子都可以兑换汽水,并且兑换时又带来新的空瓶子和盖子,简直没完没了。我们先来按照最原始的思路算算,先换完瓶子、再换盖子,直到换完。单独换一样的时候,可以用我们上述的简化版问题的结果来算,即分别除以(4-1=3)和除以(8-1=7):

$$\begin{array}{c|cccc}
\hline
\text{盖子数} & 30 & 30+10 & 5 & 5+1\\
\hline
\text{空瓶子数} & 30 & 0 & 0+5 & 2 \\
\hline
\text{已喝汽水数} & 30 & 10 & 5 & 1\\
\hline \end{array}$$

现在已经有46瓶了,剩下2个空瓶子,6个盖子,似乎不能再多了,因为再赊1瓶也换不了了。——慢着,赊1瓶不行,赊2瓶呢?赊2瓶,我们就得到4个空瓶子和8个盖子了,刚好拿去抵账!所以最终结果是48瓶。这里最后我们赊了两瓶,然后分别用空瓶子和盖子抵账!对,不要局限于不赊账,也不要局限于只能赊1瓶,只要你有足够的瓶和盖抵账,你可以多赊几瓶!

有什么直接的思路可以得到上面的结果呢?有!我们上述的价值思路就可以用上。设“纯汽水”、空瓶子、盖子的单价分别为$x,y,z$,那么可以列出
$$\left\{\begin{aligned}&x+y+z=1\\
&4y=1\\
&8z=1\end{aligned}\right.$$
求得$x=5/8$,也就是纯汽水的价格。所以我们最终可以喝到$30\div(5/8)=48$瓶纯汽水。

读者应该可以看出规律了吧,答案是
$$30\div\left(1-\frac{1}{4}-\frac{1}{8}\right)=48$$
如果不能整除,那就取整即可。显然,括号的式子是统一规律的。有没有更加直接的方法可以解释它呢?

反过来,从结果到过程

事实上,可以倒过来思考,得到更直接的思路。假设最终的结果是$W$瓶,那么我们自然期望,为了喝到这$W$瓶,我们已经“倾尽所有”——把所有瓶子和盖子都用光了。这也意味着,我们用空瓶子换来的汽水是$\frac{W}{4}$瓶,用盖子换来的汽水是$\frac{W}{8}$瓶,剩下的才是成本30瓶,所以有
$$W=\frac{W}{4}+\frac{W}{8}+30$$

$$W=30\div\left(1-\frac{1}{4}-\frac{1}{8}\right)=48$$

再比较一下

上面我们针对这个问题给出了几种思路,有直接的、间接的,有正面的、反面的,哪种思路最好呢?很难说,各人的看法不同。但是如果问哪种方法最实用(应用范围最广),那么似乎应该是“价值”思路最便于分析,即分析各个部分的单价应该是多少。比如下面的推广:

假设汽水一块钱一瓶,而且“3个空瓶子+2个盖子”可以换一瓶汽水喝,或者“2个空瓶子+4个盖子”也可以换一瓶汽水喝,单独空瓶子或盖子都不能换。如果我有30块钱,我最多可以喝到多少瓶汽水?

像这种混合型的换汽水,除了价值法外,似乎没有什么好办法了。最后的反过来想的思路,实际上也可以,但是列出来的方程,本质上跟价值法是一样的,而且并没有降低复杂度。(读者如果有好的思路,不妨留言提出。)


转载到请包括本文地址:http://kexue.fm/archives/3495/

如果您觉得本文还不错,欢迎点击下面的按钮对博主进行打赏。打赏并非要从中获得收益,而是希望知道科学空间获得了多少读者的真心关注。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!