Java兔子生兔子问题(递归法)
该问题与上楼梯的问题一样,是从反方向思考推导递归公式
/**生兔子问题
* 问题描述:
* 新诞生的兔子三个月后会每个月都会产小兔子
* 即: 1 1 2 3 5 8 13
* @time 2022-05-19
* @param args
*/
public static void main(String[] args) {
int n = 5;
System.out.println("第 "+n+" 个月产生的兔子总数为 "+fun(n));
}
private static int fun(int n){
if (n==1 || n==2) { //排除第一个月和第二个月不生兔子的情况
return 1;
}else {
return fun(n - 1) + fun(n - 2); //爬楼梯公式的倒推
}
}