题解 | #统计每个月兔子的总数#

统计每个月兔子的总数

https://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            int n = in.nextInt();
            int[] dp = new int[n+1];
            dp[1] = 1;dp[2]=1;
            for (int i=3;i<=n;i++) {
                dp [i] = dp[i-1]+dp[i-2];
            }
            System.out.print(dp[n]);
        }
    }

   
}

最简单的斐波那契数列。dp[i]由dp[i-1]和dp[i-2]来推到的。

dp[i]表示经过第i个月。兔子的总数量值。

动态规划解析:

从第三个月开始:

第三个月的兔子是由第一个月能下崽的所有兔子+前二个月所有能下崽的兔子得到的。

第四个月的兔子是由二个月所有可下崽的兔子+三个月的所有能下崽的兔子得到。(这里为啥不加上第一个月?因为第一个月的兔子下的崽在二个月和三月时候都算进去了)

全部评论

相关推荐

UtopianYou...:这个简历排版真的不太行哦,去找免费的或者花点小钱,把排版弄整齐一点吧,看着舒服。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务