蓝桥杯2012省赛——微生物增殖

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

//假设有两种微生物 X 和 Y
//X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。
//一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。
//现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。
//如果X=10,Y=90  呢?
//本题的要求就是写出这两种初始条件下,60分钟后Y的数目。

//解题思想:新生的x在0.5 1.5 2.5吃y的时间间隔为1,而y在半分钟的时间什么都不做。我们可以把时间推迟0.5秒,
//注意: 每一次都要先吃,再判断是否翻倍
public class lanqiao2012_11 {
	public static void main(String[] args) {
		int x = 10; int y = 90;
		for(int i=1;i<=60;i++){
			if(y==0){
				System.out.println("x:"+x+"y:"+y);
				break;
			}
			y = y-x;
			if(i%3==0)
				x=x*2;
			if(i%2==0)
				y=y*2;
		}
		System.out.println("x:"+x+"y:"+y);
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_43752167/article/details/91409148