兔子繁衍问题

7-2 兔子繁衍问题

分数 15

全屏浏览

切换布局

作者 徐镜春

单位 浙江大学

一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?

输入格式:

输入在一行中给出一个不超过10000的正整数N。

输出格式:

在一行中输出兔子总数达到N最少需要的月数。

输入样例:

30

输出样例:

9

1.分析

兔子过两个月后就可以生兔子了,即dp[i]=dp[i-1]+dp[i-2];就是当月的兔子数量等于上个月兔子的数量dp[i-1],加上本月新生的兔子的个数dp[i-2]。

2.代码

cpp 复制代码
#include<iostream>
using namespace std;
const int MAX=11111;
int N,re,arr[MAX];
int main(){
    cin>>N;
    int sum=0;
    arr[0]=1,arr[1]=1;
    while(sum<N){
        for(int i=0;i<=re;i++){
            if(i>=2) arr[i]=arr[i-1]+arr[i-2];      //下标从0开始,判断2
            sum=arr[i];
        }
        re++;
    }
    cout<<re<<endl;
    return 0;
}
相关推荐
on_pluto_5 分钟前
Leecode hot100 - 448. 找到所有数组中消失的数字
数据结构
zl_dfq17 分钟前
数据结构 之 【布隆过滤器 的简介】
数据结构
T0uken21 分钟前
【C++】LLVM-mingw + VSCode:Windows 开发攻略
c++·windows·vscode
晴空闲雲28 分钟前
数据结构与算法-树和二叉树-二叉树的存储结构(Binary Tree)
数据结构·算法
索迪迈科技2 小时前
Flink Task线程处理模型:Mailbox
java·大数据·开发语言·数据结构·算法·flink
元亓亓亓3 小时前
LeetCode热题100--230. 二叉搜索树中第 K 小的元素--中等
算法·leetcode·职场和发展
草莓熊Lotso3 小时前
《算法闯关指南:优选算法-双指针》--01移动零,02复写零
c语言·c++·经验分享·算法·leetcode
焜昱错眩..4 小时前
代码随想录算法训练营第三十九天|62.不同路径 63.不同路径ll
算法
ajassi20007 小时前
开源 C++ QT Widget 开发(十五)多媒体--音频播放
linux·c++·qt·开源
焦耳加热7 小时前
阿德莱德大学Nat. Commun.:盐模板策略实现废弃塑料到单原子催化剂的高值转化,推动环境与能源催化应用
人工智能·算法·机器学习·能源·材料工程