苹果问题

  问题:如果我有一千个苹果,有十个箱子,那么现在我把一千个苹果放进十个箱子里面。放完之后,一个同学问我要苹果;我希望不管他跟我要多少个苹果,我都可以整箱整箱地给他。请问:这个问题有解吗?试论述。

 


 

  这道题有解,按下面的方法放置苹果即可解决这个问题。
  对于第一个到第九个箱子,第n个箱子中放置的苹果数目为2的n-1次方,即第一个到第九个箱子放置的苹果数分别为:1,2,4,8,16,32,64,128,256;合计511个.而第十个箱子则放置剩余的苹果,即1000-511=489个。
  下面论述这种方法的正确性。
  (1)先讨论第一个到第九个箱子。比照二进制的位权,易知这样的第一个到第九个箱子就相当于一个二进制数的第一到九位,给定9位的二进制数可以表示0~511中的任意数字。这样一来,第一个到第九个箱子就可以整箱整箱地提供0~511中任意数目的苹果。
  (2)上面已经知道“第一个到第九个箱子就可以整箱整箱地提供0~511中任意数目的苹果”,所以下面就分析剩下的第十个箱子,讨论“整箱整箱地提供512~1000中任意数目的苹果”的情况。因为现第十个箱子里有489个苹果,则有上界:512-489=23,下界:1000-489=511;而由(1)知“第一个到第九个箱子就可以整箱整箱地提供0~511中任意数目的苹果”,显然,第一个到第九个箱子也可以整箱整箱地提供23~511中任意数目的苹果”。所以,只要取第十箱苹果加上又前九箱的某个组合,就可以整箱整箱地提供512~1000中任意数目的苹果。
  综合(1)(2)的分析,通过上述方法,的确可以用第一个到第十个箱子整箱整箱地提供0~511中任意数目的苹果。

posted @ 2021-06-22 11:15  NorX  阅读(143)  评论(0编辑  收藏  举报