赞
踩
微生物增殖—除去次方数—古堡算式—奇怪的比赛—欧拉与鸡蛋
①微生物增殖
假设有两种微生物 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 就是最终导致 Y 种群灭绝的最后一根稻草!
一道数学题哈,这道题,有个小技巧,因为有需要算0.5分钟的,很麻烦,所以不如都X2,总共为120,
每隔0.5分钟即为每隔1。
这样,这道题可以分析为:
X每隔6分裂一次,Y每隔4分裂一次。
新生X每隔1吃Y,此后每隔2吃Y。
求120后,Y的数目。
肯定不能拿手算啦。。好累的o(╯□╰)o,
可以仔细分析一下题目,可以用一个for循环模拟时间的增长,
那么就可以对4,6取模来判定X、Y的分裂时间。
最关键就是X什么时候吃Y,或许刚开始考虑的时候,你觉得要分新生X与以前的X,
可是,你仔细看就会发现不然,Y每隔4才分裂一次,而新生的X与老X吃Y时间是重合的。
所以,只要是奇数个时间段(以120为总和的时间段)就会吃Y。
可以画一个时间轴来更清晰的表示出来:
我们可以很清晰的看出,红蓝点会重合,也就是新生的X与以前的X吃Y的时间段是重合的,所以,就可以通过
判断是否为奇数断点来吃Y。
代码:
- #include <iostream>
- using namespace std;
- int main()
- {
- int time;
- int x=10,y=89; /
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。