计算兔子数量

1.题目介绍

有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,求第n个月的兔子总对数为多少?

2.题解

2.1 动态规划

思路

类似于爬楼梯的思路。

代码

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 计算第n个月的兔子总共多少对。
     * @param count int整型 第多少个月后兔子总对数
     * @return long长整型
     */
    long long calculateTotal(int count) {
        if (count < 3) return 1;
        long long i = 1, j = 1, ans = i + j;
        for (int k = 1; k <= count - 3; k++){
            i = j;
            j = ans;
            ans = i + j;
        }
        return ans;
    }
};

2.2 递归

思路

原理采自于斐波拉契数列

代码

class Solution {
public:
    long long calculateTotal(int count) {
        if (count < 3) return 1;
        return calculateTotal(count - 1) + calculateTotal(count - 2);
    }
};
posted @   DawnTraveler  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示