用递归实现不死神兔:故事得从西元1202年说起,话说有一位意大利青年,名叫斐波那契。
在他的一部著作中提出了一个有趣的问题:假设一对刚出生的小兔一个月后就能长成大兔,
再过一个月就能生下一对小兔,并且此后每个月都生一对小兔,没有发生死亡,
问:现有一对刚出生的兔子2年后(24个月)会有多少对兔子?
public class Test {
public static void main(String[] args) {
/*解题思路:
时间 兔子总数 新增
初始 1对 0
一个月后 1对 0
两个月后 2对 1
三个月后 3对 1
四个月后 5对 2
五个月后 8对 3
六个月后 13对 5
...... ... .....
提示:从二个月后每次增加的兔子数量均为前一个月的前一个月的兔子数量如:
二月后=一月后(本次增加时原有的兔子量)+初始(本次增加时可以生小兔子的兔子量)
三月后=二月后(本次增加时原有的兔子量)+一月后(本次增加时可以生小兔子的兔子量)
.......................
以此类推可以知道n月后= n-1月后的兔子数量+n-2月后的兔子数量;
便可以递归实现得到兔子数量
* */
for(int i = 1;i < 6;i++)
System.out.println(function6(i));
}
public static int function6(int number){
if(number == 1)return 1;
else if(number == 2) return 2;
else return function6(number-1)+function6(number-2);
}
}