兔子生兔子递归的理解

重要的是找规律!

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

月份  兔子对数

1    1

2    1

3    2

4    3

5    5=2+3

6    8=3+5

…    …

n    (n-1)月份兔子对数 + (n-2)月份兔子对数

本月兔子数=上上月兔子数+上月兔子数

int sumrabbit(int month){    //递归计算兔子有几对 
	int sum;
	
	if(month>0&&month<=2){
		sum = 1;
	}
	
	if(month == 3){
		sum = 2;
	}
	
	if(month > 3){	
		sum = sumrabbit(month-1)+sumrabbit(month-2);
	}
	
	return sum;
}

猜你喜欢

转载自blog.csdn.net/weixin_42479092/article/details/84188147