微生物增殖問題 演算法

2021-10-01 07:06:02 字數 1159 閱讀 5430

假設有兩種微生物 x 和 y

x出生後每隔3分鐘**一次(數目加倍),y出生後每隔2分鐘**一次(數目加倍)

乙個新出生的x,半分鐘之後吃掉1個y,並且,從此開始,每隔1分鐘吃1個y。

現在已知有新出生的 x=10,y=90,求60分鐘後y的數目。

此處將半分鐘(0.5min)轉換成乙個0.5秒

一分鐘就是2個0.5秒二分鐘就是4個0.5秒三分鐘就是6個0.5秒60分鐘即為120個0.5秒

time

m個0.5秒xy

001090

0.51

1090-10=8012

1080

1.53

1080-10=7024

1070*2=140

2.55

10140-10=13036

10*2=20

1303.5720

130-20=11048

20110*2=220

…………

…………

此處即出現在

**

#include #include int x=10,y=90;

int main()

if(i%2==1)//y被吃條件

y-=x;

if(i%4==0)//y**條件

y*=2;

if(i%6==0)//x**條件

x*=2;

}printf("60min後,y生物有%d個\n",y);

}

60min後,y生物有94371840

這道題要考慮到x、y的動態變化,此處的半分鐘為0.5s要注意進行乙個轉換,那麼可以將60分鐘轉換為120個0.5秒,也隨之將迴圈次數由60次轉換成120次,將0.5成功轉換成了1整數,也就解決了整數之間小數的問題

微生物增殖

假設有兩種微生物 x 和 y x出生後每隔 3分鐘 一次 數目加倍 y出生後每隔 2分鐘 一次 數目加倍 乙個新出生的 x,半分鐘之後吃掉1個 y,並且,從此開始,每隔 1分鐘吃1個 y。現在已知有新出生的 x 10,y 89 求60 分鐘後y 的數目。如果x 10 y 90 呢?本題的要求就是寫出...

微生物增殖

假設有兩種微生物 x 和 y x出生後每隔3分鐘 一次 數目加倍 y出生後每隔2分鐘 一次 數目加倍 乙個新出生的x,半分鐘之後吃掉1個y,並且,從此開始,每隔1分鐘吃1個y。現在已知有新出生的 x 10,y 89,求60分鐘後y的數目。如果x 10,y 90 呢?本題的要求就是寫出這兩種初始條件下...

微生物增殖

假設有兩種微生物 x 和 y x出生後每隔3分鐘 一次 數目加倍 y出生後每隔2分鐘 一次 數目加倍 乙個新出生的x,半分鐘之後吃掉1個y,並且,從此開始,每隔1分鐘吃1個y。現在已知有新出生的 x 10,y 89,求60分鐘後y的數目。如果x 10,y 90 呢?本題的要求就是寫出這兩種初始條件下...