假设有两种微生物 X 和 Y
X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。
一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。
现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。
如果X=10,Y=90 呢?
分析以半分钟为一个单位计算,60分钟也就是120个半分钟
代码 (一)C++#includeusing namespace std; int main() { int X,Y; cin>>X>>Y; for(int i=1;i<=120;i++) { if(i%2==0) { Y-=X; if(Y<0) Y=0; } if(i%4==0) Y*=2; //每隔两分钟 Y 就增加一倍 if(i%6==0) X*=2; // X出生后每隔 3 分钟分裂一次 } cout< (二)Java import java.util.Scanner; public class 微生物增殖 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("X的初值为"); int X = input.nextInt(); System.out.print("Y的初值为"); int Y = input.nextInt(); for (int i = 1; i <= 120; i++) { if (i % 2 == 0) { Y -= X; if (Y < 0) { Y = 0; } } if (i % 4 == 0) { Y *= 2; }//每隔两分钟 Y 就增加一倍 if (i % 6 == 0) { X *= 2; }// X出生后每隔 3 分钟分裂一次 } System.out.println("Y的数目为"+ Y); } }输出结果Y的数目为94371840



