书城科普读物数理化之谜
4412800000020

第20章 取苹果

7只箱子中分别放有1只、2只、4只、8只、16只、32只和64只苹果,现在要从这7只箱子中取出87只苹果,但每只箱子中的苹果都不能只取出一部分。你能迅速地取出来吗?

先将这七只箱子编好号码:

号码7654321只数6432168421因为87只超过64只,所以先取7号箱,还少23只,由于23只少于6号箱,多于5号箱,所以要取5号箱,还少7只,按同样的方法,继续取出3号箱、2号箱和1号箱里的苹果。这样,总共取1、2、3、5、7五个箱子,就得到所需的87只苹果。

这实际上是二进制数的一种应用。如果我们将87除以2,再将所得的商连续地除以2,凡余数1就记住1,余数0就记作0可得:

余数2|8712|4312|2112|1012|512|5111按箭头方向,依次把余数横列成1010111,这就是十进数87的二进数制表示(这个方法叫做除2取余法),再将箱子的号码同它对应:

1010111

7654321

比较可知,凡是记1所对的编号(1、2、3、5、7)就是应取的号码。这是因为64、32、16、8、4、2、1、分别表示成二进制数就是1000000、100000、10000、1000、100、10、1,取(1、2、3、5、7)就相当于取1000000+10000+1000+10+1=1010111,也即十进制数87。

你还可以用上述方法取47只,59只……苹果,这对我们熟悉二进制数很有益处。