java递归-小鸡吃米问题
2017-08-11 16:42
274 查看
//小鸡一次可以吃n颗米(n>0),总共有m颗米(m>0),在不考虑小鸡最大能力的情况下,小鸡共有多少种吃法。
//(m与n之间无大小限定)
/**
* 思路:自上而下的方式。
* 小鸡最后一次吃米,可能吃1颗米,2颗米,……,n颗米。因此,最后一次吃米的吃法,就是之前的总和。
* @param m
* @param n
* @return
*/
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;
}
}
//(m与n之间无大小限定)
/**
* 思路:自上而下的方式。
* 小鸡最后一次吃米,可能吃1颗米,2颗米,……,n颗米。因此,最后一次吃米的吃法,就是之前的总和。
* @param m
* @param n
* @return
*/
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;
}
}
相关文章推荐
- Java问题抽象和递归(母羊生母羊问题为例)
- Java问题抽象和递归(母羊生母羊问题为例)
- 递归三兄弟——数的乘方、背包问题、组合的Java实现
- java使用递归解决全排列问题
- 汉诺塔问题的java递归实现
- Java中的递归问题
- n皇后问题java递归实现
- java中父类与子类, 不同的两个类中的因为构造函数由于递归调用导致栈溢出问题
- 递归解决汉诺塔问题解法java代码
- Java问题抽象和递归(母羊生母羊问题为例)
- Java语言描述:递归与分治策略之全排列问题
- Java 递归解决 "汉诺塔" 问题
- Java 递归、尾递归、非递归 处理阶乘问题
- 汉诺塔问题的java递归实现
- java中使用递归求解汉诺塔问题
- java基础_公鸡母鸡小鸡的买法问题,100元买100只鸡
- 实验一 分治与递归―棋盘覆盖问题 java实现
- Java递归实现斐波那契数列【古典问题】
- Java 非递归实现的排列组合中的平均分组问题
- java经典问题——递归求阶乘