试题: 小白鼠问题

这篇博客探讨了一个关于小白鼠繁殖的问题,博主分享了解题思路:在第N个月时,活的小白鼠数量是前五个月繁殖的对数加上下一个月即将出生的对数,但不包括第六个月出生的,因为它们会在第七个月死亡。博主提供了C++代码实现,但认为题目对时间描述不清晰。
摘要由CSDN通过智能技术生成

刚看到这个帖子:C++编程,小白鼠问题,开始没有什么思路,刚躺下,想到了。。。

原题:

有一家生化所,一月份引入一对新生的小白鼠。这对小白鼠生长两个月后,在第三、第四、第五个月各繁殖一对新小白鼠,在第六个月停止繁殖,在第七个月则死亡。新生的小白鼠也如此繁殖。问在第N个月时,活的小白鼠有多少对?

思路:

第N个月的对数 就是 第N-1月时 1-5个月(当时的1-5)的对数 加上 下一个月就要出生的,而当时6个月的会在这个月死亡,故不用考虑

PS:

感觉题目中的时间有点模棱两可


代码如下,可能写得有点复杂了

#include <cassert>
#include <vector>
#include <iostream>
using namespace std;

int get_count(int n);

class pairs_state /* singleton */
{
private:
    pairs_state()
    {
        count_of_month[0] = 1; /* sum */
        count_of_month[1] = 1;
        count_of_month[2] = 0;
        count_of_month[3] = 0;
        count_of_month[4] = 0;
     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值