当前位置:网站首页>蓝桥杯 微生物增殖 C语言

蓝桥杯 微生物增殖 C语言

2022-07-06 11:38:00 大菜彩

微生物增殖

假设有两种微生物 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分别会在0.5,1.5,2.5······时被吃,所以,把60分钟分成120份,则在除以2余数为1时,Y的数目减少X个

当X=10, Y=89,代码:

#include<stdio.h>
int main()
{
	int x=10,y=89;
	for(int t=1;t<=120;t++)   //半分钟一个单位 60分钟为120个单位 
	{
		if(t%2==1)  
			y=y-x;  //因为X出生半分钟后就要吃Y,之后每1分钟要吃Y,所以永远都是奇数个半分钟的时候吃Y
			
		if(t%4==0)  //每两分钟翻倍 
			y=y*2;
			
		if(t%6==0)  //每三分钟翻倍
			x=x*2;
	} 
	printf("%d",y);
	return 0;
 } 

运行结果为负数,故y=0。

当X=10, Y=90,运行结果:

 

 

原网站

版权声明
本文为[大菜彩]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_53786696/article/details/125626441