• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
youdiankun
博客园    首页    新随笔    联系   管理    订阅  订阅

蓝桥杯-微生物增殖

微生物增殖

  假设有两种微生物 X 和 Y

    X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。

    一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。//很好玩的水题,一开始被这句话难住了,其实只要半分钟一个单位就ok了

    现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。

    如果X=10,Y=90  呢?

    本题的要求就是写出这两种初始条件下,60分钟后Y的数目。


    题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质!也许因为你消灭的那只 Y 就是最终导致 Y 种群灭绝的最后一根稻草!
    

    请忍住悲伤,把答案写在“解答.txt”中,不要写在这里!

 1 #include<cstdio>
 2 
 3 int main()//这题要注意,每次分裂都是新出生。
 4 {
 5     int i;
 6     int x=10,y=90;
 7     for(i=1;i<=120;i++)//因为题目中提到了半分钟,所以每次i+=0.5,用120拓展来
 8     {
 9         if(i%2==1)//一个的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y,所以每逢奇数就吃Y(excellent!)
10         {
11             y-=x;
12         }
13         if(i%4==0)//因为把60扩大了2倍,所以就不再是i%2了,当然不是i%2==2!!
14         {
15             y*=2;
16         }
17         if(i%6==0)//X出生后每隔3分钟分裂一次
18         {
19             x*=2;
20         }
21     }
22     printf("%d\n",y);
23     return 0;
24 }

 

posted @ 2014-03-10 15:07  youdiankun  阅读(790)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3