题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
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]); } } }