题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
http://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395
import java.util.Scanner;
/**
* @author hll[yellowdradra@foxmail.com]
* @description 有一只兔子,从出生后第3个月起每个月都生一只兔子,
小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?
* @date 2021-05-25 23:52
**/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
// 状态转移数组
int[] dp = new int[n];
// 第一个月 第二个月 都是小兔子 数量为1
dp[0] = 1;
dp[1] = 1;
// 从第三个月开始 当前月的兔子数等于之前两个月兔子数之和
// dp[i - 1]是还没有生产的的和过产期的兔子数
// dp[i - 2]是待产的兔子数
for (int i = 2; i < dp.length; i++) {
dp[i] = dp[i - 1] + dp[i - 2];
}
System.out.println(dp[dp.length - 1]);
}
}
}

