2012 蓝桥杯【初赛试题】微生物增殖

简介:
题目描述:


    假设有两种微生物 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关于时间的对应关系即可。

先看一下前9分钟的情况(以10和90为例)

时间 x y 原因
0.0        10           90         
0.5 10 90  
1.0 10 80 90-10
1.5 10 80  
2.0 10 140 (80-10)*2
2.5 10 140  
3.0 20 130 140-10
3.5 20 120 130-10
4.0 20 220 (120-10)*2
4.5 20 210 220-10
5.0 20 200 210-10
5.5 20 190 190-10
6.0 40 360 (190-10)*2
6.5 40 340 360-20
7.0 40 320 340-20
7.5 40 300 320-20
8.0 40 560 (300-20)*2
8.5 40 540 560-20
9.0 80 520 540-20
总结起来就是

(本表格参考其他博客)
备注:第0.5秒时,由于原来给的10个x不是新生,所以这0.5秒x不会吃y

可以看出,每隔3秒,x加倍一次

当秒数是奇数时,对于y,y=y-x;

当秒数是偶数时,对于y,y=(y-x)*2;

要注意的是,必须分清x,y增值以及x吃y的先后顺序:

首先要进行x吃y的判定,之后才能进行增值,如果先进行增值的话,就会发生错误!

当x=10,y=90时,最后y的结果是:94371840

计算代码:

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n,m;
    double x,y;
    scanf("%d%lf%lf",&n,&x,&y);
    m=1;
    while(m<=n)
    {
       if(m%2!=0)
       y=y-x;
       if(m%2==0)
       y=(y-x)*2;
       if(m%3==0)
       x*=2;
       //printf("m=%d x=%.0lf y=%.0lf\n",m,x,y);
       m++;
    }
    printf("x=%.0lf y=%.0lf\n",x,y);
    system("pause");
    return 0;
}

相关文章
|
6月前
|
人工智能 算法 Java
第十三届蓝桥杯B组Java(试题C:字符统计)
第十三届蓝桥杯B组Java(试题C:字符统计)
92 0
|
机器学习/深度学习 算法 C++
2019第十届蓝桥杯大赛青少年创意编程省赛C++组试题解析
2019第十届蓝桥杯大赛青少年创意编程省赛C++组试题解析
415 0
|
1月前
|
人工智能 Python
蓝桥杯练习题(四):Python组之历届试题三十题
关于蓝桥杯Python组历届试题的三十个练习题的总结,包括题目描述、输入输出格式、样例输入输出以及部分题目的解题思路和代码实现。
30 0
蓝桥杯练习题(四):Python组之历届试题三十题
|
6月前
|
机器学习/深度学习 人工智能 算法
2024 蓝桥杯本科B组试题
2024 蓝桥杯本科B组试题
119 0
蓝桥杯Java-B组2015年试题解题笔记
蓝桥杯Java-B组2015年试题解题笔记
|
数据格式
蓝桥杯Java-B组2014年试题解题笔记(下)
蓝桥杯Java-B组2014年试题解题笔记(下)
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-940 试题3971
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-940 试题3971
60 0
|
6月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-试题 基础练习 十六进制转八进制
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-试题 基础练习 十六进制转八进制
39 0
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-试题 基础练习 数列排序(四种语言对照)
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-试题 基础练习 数列排序(四种语言对照)
44 0
|
6月前
|
Python
第十三届蓝桥杯B组python(试题A:排列字母)
第十三届蓝桥杯B组python(试题A:排列字母)
64 0
下一篇
无影云桌面