现在500个苹果,装入若干个箱子。要求:如果要取1至500个苹果中的任意数,你能否用整数个箱子里的苹果凑起取出,问如何装?
(例如:要取199个苹果,你用整数个箱子凑出来)。就是这道题,谢谢啦!

解决方案 »

  1.   

    每个箱子放的苹果数目就是2的n次方:
    第一个箱子:1个;
    第二个箱子:2个;;
    第N个箱子:2^n个;
    最后一个:放剩下的500-(前面n个箱子中苹果的和)
    取的时候就是自己组合箱子吧吧
      

  2.   

    最小箱子树木m可以计算出来的:
    2^(m-1)<苹果数目<=2^(m)
      

  3.   

    最小箱子数m可以计算出来的:
    2^(m-1)<苹果数目<=2^(m)
      

  4.   

    箱1,2:   1个 (2x1=2)
    箱3,4,5,6:   2个(4x2=8)
    箱7,8:  5个   (2x5=10)
    箱9,10:  10个   (2x10=20)
    箱11,12,13:  20个  (3x20=60)
    箱14,15:   50个  (2x50=100)
    箱16,17,18:   100个  (3x100=300)共18个箱子  算法嘛..... :)
      

  5.   

    可以试试从前面向后推,
    球数    箱子数
    1       1  
                 //1
    2       2
    3       2
                //2
    4       3 
    5       3
    6       3
    7       3
                //4
    8       4
    ...    ... 
    15      4
                //8
    ...    ...           //16
    球数就是从开始的箱子说相加1+2+4+8。
    这样的话,也就是等比数列相加。
    得2的n次方-1<500,求n的最大值,再加1就可以了。
    算出来是最少用  9  个箱子