觅水 2015-08-12 05:16 采纳率: 0%
浏览 1809
已结题

还是小鸡吃米计算题,大神请读

小鸡一次可以吃n颗米(n>0),总共有m颗米(m>0),在不考虑小鸡最大能力的情况下,小鸡共有多少种吃法。(m与n之间无大小限定)图片

  • 写回答

9条回答 默认 最新

  • half1_2_1 2015-08-12 05:47
    关注
    思路:自上而下的方式。 
    小鸡最后一次吃米,可能吃1颗米,2颗米,……,n颗米。因此,最后一次吃米的吃法,就是之前的综合。
    
    public static int haveRice(int m,int n){
        if(m<0)
            return 0;
        else if(m==0)
            return 1;
        else {
            int result=0;
            for(int i=1;i<=n;i++){
                result+=haveRice(m-i,n);
            }
            return result;
        }
    }
    
    
    与小孩上楼梯的走法的阶梯方法类似,此处采用递归。如果对空间有要求,还可以进行动态规划的优化。参见小孩上楼梯的走法:[小孩上楼梯的走法](http://blog.csdn.net/shangqing1123/article/details/47360591 "")
    
    评论

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看