蓝桥杯--微生物增殖

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

 

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

两个整数,每个1行。

参考答案:

扫描二维码关注公众号,回复: 4895049 查看本文章

0       

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std ;
typedef long long LL;
int main()
{
	// 暴力
	int n = 60;
	LL x = 10 , y = 90 ;
	for(int i = 1 ; i<=n;  i++ )
	{
		
		y-=x;// 0.5 1.5 2.5 3.5 ....59.5 强取整
		if(i%3==0)
		{

			x*=2 ;// x微生物每隔3分钟分裂一次
		}
		if(i%2==0)
		{
			y*=2 ;// y微生物每隔2分钟分裂一次
		}
	}
	if(y<0)
	{
		y = 0 ; // 早就吃光了
		cout<<y ;
	}
	else
	
	cout<<y;



	return 0 ;
}

 

猜你喜欢

转载自blog.csdn.net/qq_41661809/article/details/85201439