题面
假设有两种微生物 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分钟转变为半分钟,然后进行循环遍历模拟即可。
答案:
0
94371840
代码
#include <iostream>
using namespace std;
int main() {
int x, y;
cin >> x >> y;
for (int i = 1; i <= 120; i++) {
if (y <= 0) {
y = 0;
break;
}
if (i % 2 == 1) y -= x;
if (i % 4 == 0) y *= 2;
if (i % 6 == 0) x *= 2;
}
cout << y << endl;
return 0;
}
标题: | 2012年第三届蓝桥杯省赛-A.微生物繁殖 |
---|---|
链接: | https://www.fightingok.cn/detail/152 |
更新: | 2022-09-18 22:43:24 |
版权: | 本文采用 CC BY-NC-SA 3.0 CN 协议进行许可 |