题目:有一对兔子,第三个月起,每月生一对小兔子。每对小兔子三个月后也生一对小兔子。
请问每个月有多少兔子?
思路:1 1 2 3 5 8 13 21
发现规律,从第3个月开始:fn(x)=fn(x-1)+fn(x-2);
public class TuZhi {
//计算某个月的兔子总数
public static int CountTuZhi(int yue){
if(yue<3)
{
return 1;
}
else
{
return CountTuZhi(yue-1)+CountTuZhi(yue-2);
}
}
//记录每个月兔子的总数
public static List OutTuZhiCount(int yue){
ArrayList<Integer> list=new ArrayList<Integer>();
for (int i = 1; i < yue; i++) {
list.add(CountTuZhi(i));
}
return list;
}
public static void main(String[] args) {
//输入月数
int yue=20;
//获取记录
List outTuZhiCount = OutTuZhiCount(yue);
//输出结果
System.out.println(outTuZhiCount);
}
}
本文通过递归算法解决了一个经典的兔子繁殖问题,即一对兔子每月繁殖一对小兔子,且每对小兔子三个月后也开始繁殖。文章提供了一段Java代码实现,用于计算任意月份的兔子总数。
1282

被折叠的 条评论
为什么被折叠?



