某部队仓库保管员保管子弹1005发,他想把子弹分成若干包,使得战士一旦需要从1~1005发之间的任何子弹时,他都可以拿出若干包来凑成所需要的子弹数.问保管员至少要把子弹分成多少包?每包分别多少发子弹?
问题描述:
某部队仓库保管员保管子弹1005发,他想把子弹分成若干包,使得战士一旦需要从1~1005发之间的任何子弹时,他都可以拿出若干包来凑成所需要的子弹数.问保管员至少要把子弹分成多少包?每包分别多少发子弹?
答
1,2,4,8,16,32,64,128,256,494 共10包我有答案,没过程。请你把过程告诉我行吗?你的答案是正确的。2^0只能表示到2^1-1,所以下一个抽屉必须有2^1个,以此类推到2^8,但由于2^9+2^8+...+2^1+2^0>1005,所以最后一个抽屉为1005-(2^9-1)=494个。这是最少方案。因为必须有一个装有一个子弹的抽屉,所以可以从1=2^0推起。