//斐波那契数列,计算兔子的数量:1 1 2 3 5 8 13......从第三个数开始,
// 后一个数都是前两个数的和,假如兔子都不死,问到第12个月时一共有多少只兔子
//(有一对兔子,从出生后第三个月开始,每一个月生一对兔子,小兔子同理)
public class RabitDemo1 {
//斐波那契数列,计算兔子的数量:1 1 2 3 5 8 13......从第三个数开始,
// 后一个数都是前两个数的和,假如兔子都不死,问到第12个月时一共有多少只兔子
//(有一对兔子,从出生后第三个月开始,每一个月生一对兔子,小兔子同理)
public static void main(String[] args) {
//测试
//法一:
int rabitSum = getsum(12);
System.out.println(rabitSum);
//法二:
System.out.println(getsum(12));
}
//法一:
public static int getsum(int month){
if(month == 1 ||month == 2){
return 1;
}
//使用递归函数
return getsum(month-1)+getsum(month-2);
}
//法二:
//普通方法:
public static int getsum2(int month){
int[]arr = new int[month];
for (int i = 0; i < month; i++) {
if(i==1||i==2){
arr[i] = 1;
}
else{
arr[i] = arr[i-1]+arr[i-2];
}
}
//返回到12个月时兔子的数量
return arr[11];
}
}
运行结果:
标签:arr,12,int,兔子,month,getsum,一对 From: https://blog.csdn.net/qq_64406993/article/details/136719007