斐波拉契数列
1,1,2,3,5,8……
规律是当前数为前两个数的和。
比如生兔子问题就是这样:第一天只有一个小兔子(1),第二天小兔子长成大兔子并且怀孕(1),第三天大兔子生下一个小兔子(2),第四天小兔子长大前一个大兔子又生下一个小兔子(3),第五天两个成年兔子分别生下了一个兔子,前一天生下的兔子又上大(5)…………
叫求第100天后的兔子数量
// An highlighted block
public static void main(String[] args) {
//第七天
int a = 7;
int sum = test(a);
System.out.println(sum);
}
private static int test(int a) {
//判断是否大于1,因为在第一天就是一个
if (a > 1) {
//核心代码,对前两天兔子数量求和
return test(a - 2) + test(a - 1);
} else if (a == 1) {
return 1;
//有一个0,来方便计算第二天的兔子数量
} else if (a == 0) {
return 0;
}
return -1;
}