小了白了兔,白了又了白,两了只了耳了朵了竖了起了来了,蹦了蹦了跳了跳了,真了可了爱。
问:有一对小兔子,从出生的第三个月开始,每个月都生一对兔子,小兔长到三个月后又生一对小兔子,假设这些兔子不会死亡,请问,四年后,有多少对兔子??
问题分析:
月份 | 兔子对数 |
---|---|
1 | 1 |
2 | 1 |
3 | 2 |
4 | 3 |
5 | 5 |
6 | 8 |
7 | 13 |
… | … |
所以,我们可以发现几个规律
1、从第三项开始,每一项都是前两项之和
2、说明每一项的前俩项的数据都是已知的
如何实现呢?
这里我们就可以采用递归的方式来实现
public class FileDemo {
public static void main(String[] args) {
int i = 12*4;
System.out.println("第四年的兔子数量为:"+fibonacci(i));
}
public static int fibonacci(int month){
if ((month==2 || month==1)) {
return 1;
}else {
return fibonacci(month-1)+fibonacci(month-2);
}
}
}
运行效果截图