兔子繁衍问题

7-2 兔子繁衍问题

分数 15

全屏浏览

切换布局

作者 徐镜春

单位 浙江大学

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

输入格式:

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

输出格式:

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

输入样例:

30

输出样例:

9

1.分析

兔子过两个月后就可以生兔子了,即dpi=dpi-1+dpi-2;就是当月的兔子数量等于上个月兔子的数量dpi-1,加上本月新生的兔子的个数dpi-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;
}
相关推荐
土司大王14 小时前
LeetCode hot100——两两交换链表中的节点
算法·leetcode·职场和发展
14 小时前
数据结构第一课:复杂度解析
数据结构
大熊背15 小时前
树莓派IspPipeline LSC模块原理详解
算法·lsc·isppipeline·mesh lsc
zander25815 小时前
LeetCode 300. 最长递增子序列
算法·leetcode·深度优先
程序员与背包客_CoderZ15 小时前
高性能分布式KV存储引擎RocksDB入门与C/C++编码实战
c语言·开发语言·数据库·c++·分布式·分布式数据库·rocksdb
进击的_鹏16 小时前
从零开始的 Redis 学习
服务器·数据库·c++·redis·缓存
欧叶冲冲冲16 小时前
Python常见数据结构的CRUD(LeetCode高频版速查)
数据结构·python·leetcode
祖力5516 小时前
Linux应用软件编程:目录IO与framebuffer
linux·运维·算法·framebuffer·目录io
名字还没想好☜16 小时前
Go 用 slices/maps 标准库泛型函数:告别手写 Contains、Sort、去重(Go 1.21)
开发语言·后端·算法·golang·go
地平线开发者16 小时前
【模型轻量化专题】深度学习模型为什么需要轻量化
算法