兔子繁衍问题

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;
}
相关推荐
南境十里·墨染春水20 分钟前
数据结构 —— 链表
数据结构·链表
咩咦22 分钟前
C++学习笔记24:构造函数初始化列表
c++·学习笔记·类和对象·构造函数·初始化列表·const引用
为何创造硅基生物31 分钟前
C 语言 typedef 结构体私有化
c语言·开发语言·算法
yzx99101334 分钟前
递归算法入门:像俄罗斯套娃一样思考
人工智能·算法
计算机安禾36 分钟前
【c++面向对象编程】第43篇:可变参数模板(C++11):优雅处理不定长参数
java·开发语言·c++
心中有国也有家40 分钟前
从零上手 CANN 学习中心:像逛技术便利店一样学昇腾
学习·算法·开源
oo哦哦1 小时前
搜索矩阵系统的最短路密码:用Dijkstra算法和网络流理论,解释为什么你做了1000个关键词,流量还不如别人30个
网络·算法·矩阵
Matlab程序猿小助手1 小时前
【MATLAB源码-第319期】基于matlab的帝王蝶优化算法(MBO)无人机三维路径规划,输出做短路径图和适应度曲线.
开发语言·算法·matlab
10岁的博客1 小时前
C++ 进制转换:通用 a 进制转 b 进制(2-36进制)题解
开发语言·c++
图码1 小时前
二分查找进阶:如何在有序数组中快速找到Upper Bound?
数据结构·算法·面试·分类·柔性数组