去年蓝桥杯的一道题,百思不得其解,求教。
假设有两种微生物 X 和 YX出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。
一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。
现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。
#include<stdio.h> void main() { long int x=10,y=89; //定义X,Y为X,Y的个数 int t; for(t=1;t<=60;t++) // 从第1分钟开始计数 { y=y-x; //在第t-1到t 分钟之间减少x个Y if(t%2==0)y=2*y; if(t%3==0)x=2*x; } printf("60分钟后Y的数目为%ld\n",y); //结果为-979369984,实际Y为0 }