蓝桥杯第二届

一 、 微生物增殖

一旦有二种微生物 X 和 Y

微生物,X出生后每隔3分钟分歧1遍(数目加倍),Y出生后每隔2分钟区别三次(数目加倍)。    1个新出生的X,半秒钟未来吃掉3个Y,并且,从此初阶,每隔1分钟吃贰个Y。

今日已知有新出生的 X=10, Y=89,求60分钟后Y的数额。

如果X=10,Y=90  呢?

核心的必要正是写出那三种早先标准下,60分钟后Y的数量。

题材的结果令你吃惊吗?那不是大致的数字游戏!真实的生物圈有着一样脆弱的性质!大概因为你消灭的那只 Y 正是最后致使 Y 种群灭绝的最后一根稻草!

请忍住难过,把答案写在“解答.txt”中,不要写在此地!

答案:0 和 94371840

小心y的负数溢出

源代码:

#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string>
#include<string.h>
#include<math.h>
#include<map>
#include<vector>
#include<algorithm>
using namespace std;
#define MAX 0x3f3f3f3f
#define MIN -0x3f3f3f3f
#define PI 3.14159265358979323
#define N 10005
int main()
{
    int x, y;
    int i;
    x = 10;
    y = 90;
    for (i = 1; i <= 60; i++)
    {
        y -= x;
        if (i % 3 == 0)
            x *= 2;
        if (i % 2 == 0)
            y *= 2;
        if (y <= 0)
            y = 0;
    }
    printf("%d %d\n", x, y);
    return 0;
}

相关文章