59.各放多少發子彈?
小張是某部隊武器庫保管員,他將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發子彈,其余的由前九盒中的若干盒來滿足。