博客园 首页 私信博主 显示目录 隐藏目录 管理

蓝桥杯-微生物增殖

微生物增殖

  假设有两种微生物 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 种群灭绝的最后一根稻草!

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int main(){
 5     int x=10;
 6     /*int y=89;*/
 7     int y=90;
 8     /*题目中提到了半分钟,所以一般分钟为一个单位,i扩展到120*/
 9     for( int i=1; i<=120; i++ ){
10         /*一个新分裂的x半分钟之后吃掉一个y,从此每一分钟之后吃掉一个y
11         所以每逢奇数就吃掉一个y!!!*/
12         if(i%2==1){
13             y-=x;
14         }
15         if(i%4==0){
16             y*=2;
17         }
18         if(i%6==0){
19             x*=2;
20         }
21     }
22     if(y<0) y=0;
23     cout<<y<<endl;
24 
25     return 0;
26 }

 

posted @ 2019-02-18 20:58  Brave_WTZ  阅读(215)  评论(0编辑  收藏  举报