1. 程式人生 > >兔子生兔子遞迴的理解

兔子生兔子遞迴的理解

重要的是找規律!

古典問題:有一對兔子,從出生後第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;
}