各放多少发子弹?

小张是某部队武器库保管员,他将 1 千发子弹分放在 10 个盒子里,一旦

需要,只需告诉他 1000 以内所需子弹数,他都可以拿出若干个盒子,凑出所

需的子弹数,而不必打开盒子去数子弹。请问小张在 10 个盒子里各放了多少发子弹?

分析与解 十进制数中的 1、2、4、8、16、32、64、128、256 分别是二进制数 1、10、100、1000、10000、100000、1000000、10000000、100000000,

这九个二进制数码可以组成 1 到(111111111)2 的任何一个二进制数。于是用 1、2、4、8、16、32、64、128、256 这九个十进制数中的数相加,可以得到 1 到 511 中的任何一个十进制的数。所以保管员在九个盒子中分别装入 1、

2、4、8、⋯⋯、256 发子弹共 511 发,剩下的 489 发装在第十个盒子里。如

果需要的子弹数小于或等于 511 发,那么就可以由前九个盒子中挑选出若干

盒子来满足。如果需要的子弹数大于 511 发,那么可先取第十盒中的 489 发子弹,其余的由前九盒中的若干盒来满足。