兔子繁衍问题

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;
}
相关推荐
算法熔炉12 小时前
深度学习面试八股文(2)——训练
人工智能·深度学习·算法
EXtreme3512 小时前
【数据结构】打破线性思维:树形结构与堆在C语言中的完美实现方案
c语言·数据结构·算法··heap·完全二叉树·topk
cici1587412 小时前
含风电场的十机24时系统机组出力优化算法
人工智能·算法·机器学习
ss27312 小时前
跳表(SkipList)平衡树的数据结构设计与并发实践
数据结构·skiplist
WolfGang00732112 小时前
代码随想录算法训练营Day45 | 101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿
算法·深度优先
2301_7644413312 小时前
PMC政策文本量化评估
python·算法·信息可视化
代码游侠12 小时前
应用——Linux进程编程实例分析
linux·运维·网络·笔记·学习·算法
羑悻的小杀马特12 小时前
C++多线程同步工具箱:call_once精准触发、lock_guard/unique_lock智能管理,打造无死锁程序!
c++·多线程·死锁·lock_guard·unique_lock·call_once
电子_咸鱼12 小时前
【QT——信号和槽(1)】
linux·c语言·开发语言·数据库·c++·git·qt
DuHz12 小时前
《Around the Corner mmWave Imaging in Practical Environments》论文精读
论文阅读·算法·信息与通信·毫米波雷达