题目:
假设有两种微生物 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与y关于时间的对应关系即可。
X是一个半分钟后开始吃一个Y,即Y在一个半分钟后要失去X数量的Y。即Y -= X
X是3分钟即6个半分钟后,就分裂,即X *= 2
Y是2分钟即4个半分钟后,就分裂,即Y *= 2
那么可以将60分钟分为120份,每份半分钟。
程序:
x = 10;y=90
for i in range(121):
if i %2 == 1:
y -= x
if i % 4 == 0:
y *= 2
if i % 6 == 0:
x *= 2
print(x,y)