分苹果问题

简介:
问题:
现有1000个苹果,10个盒子,问各个盒子内应该分别放入多少个苹果,才能使得用户要买任意1至1000之间的一个苹果数,都可以给他(卖的时候是整个盒子卖,不能拆盒子的包装)。

解决方法:
#define   APPLENUM   1000   
   #define   BOXNUM       10   
    
   void   main()   
   {   
          int   arBox[BOXNUM];   
          int   m   =   0;   
          int   nTotalAppleNum   =   0;   
    
          arBox[0]   =   1;   
          arBox[1]   =   2   
          nTotalAppleNum   =   arBox[0];   
    
          for(m   =   2   ;   m   <   BOXNUM   ;   m++)   
          {   
                nTotalAppleNum   +=   arBox[m-1];   
            
                if((nTotalAppleNum   *   2)   >   APPLENUM)   
                        arBox[m]   =   APPLENUM   -   nTotalAppleNum;   
                else   
                        arBox[m]   =   nTotalAppleNum   +   1;   
          }
   
    
        //相关处理   
  }
   
   
  上面这个程序的思想是基于这样的:数组的前m个元素能够处理前m个元素相加后的结果nTotalAppleNum(当成是总的苹果数)放在m个盒子里使得用户买任意1个到nTotalAppleNum个苹果都可以给买主还不用拆开盒子!!
目录
相关文章
|
8月前
|
存储
leetcode-1705:吃苹果的最大数目
leetcode-1705:吃苹果的最大数目
66 0
|
Android开发
王者荣耀安卓区修改荣耀战区方法 | 最低战力查询(附带视频与安装包)
王者荣耀安卓区修改荣耀战区方法 | 最低战力查询(附带视频与安装包)
234 0
漫画:有趣的“分苹果”问题
我们有1000个苹果,要用10个箱子来进行分装,每个箱子所装的苹果数量不限。但是这里有一个特殊的要求:当我们想要任意数量(从1到1000)苹果的时候,只需要给出几个整箱就行了。
362 0
漫画:有趣的“分苹果”问题
|
供应链 Android开发 iOS开发
1630 亿美元现金怎么花?苹果可能会先“干掉”三星
地球上最有钱的公司——苹果,最近在烦恼着钱该怎么花。
183 0
1630 亿美元现金怎么花?苹果可能会先“干掉”三星
|
存储 安全 数据安全/隐私保护