前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >蓝桥杯之微生物增值

蓝桥杯之微生物增值

作者头像
Max超
发布2019-01-21 14:56:35
6950
发布2019-01-21 14:56:35
举报

题目内容 假设有两种微生物X和Y,X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。一个新出生的X,半分钟之后吃掉1个Y,且从此开始每隔1分钟吃掉1个Y。已知新出生的X=10,Y=89,求60分钟后Y的数目。若X=10,Y=90呢? 本题的要求就是写出这两种初始条件下,60分钟后Y的数目。题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质!也许因为你消灭的那只Y就是最终导致Y种群灭绝的最后一根稻草!


起初看题目觉得很麻烦,生物x会分成两种一种 新出生,和成长后的 经过思索后发现了规律 首先为了便于计算,将时间都都乘以了,这样就可以不考虑小数了

观察x t— x —y 1 — x — y-=x 3 — x—- y-=x 5 — x — y-=x 6 — 2x — y

7 — 2x — y-=2x 9 — 2x—- y-=2x 11— 2x — y-=x 12— 4x — y 发现了吧,6分钟(乘以2后)一循环 有这个就可以写出代码了


代码如下

代码语言:javascript
复制
#include <iostream>

using namespace std;

long slove(long x,long y)
{
    for(int i = 1;i <=120; i++)
    {
        if(i%2==1)
        {
            y -= x;//发现奇数的时候就吃y
        }
        if(i%6 ==0)
        {
            x *=2;
        }
        if(i%4==0)
        {
            y *= 2;
        }
    }
    return y;
}
int main()
{
    cout << slove(10,89) << endl;
    cout << slove(10,90) << endl;
    return 0;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年01月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
流计算 Oceanus
流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的企业级实时大数据分析平台,具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档