蓝桥杯——迭代法进阶 几个实际应用问题(2017.1.14)

来源:互联网 发布:夏日大作战 知乎 编辑:程序博客网 时间:2024/05/30 04:59

注:以下情景均不考虑结果溢出问题

1. 一个饲养场引进一只刚出生的新品种兔子,这种兔子从出生的下一个月开始,每月新生一只兔子,新生的兔子也如此繁殖。如果所有的兔子都不死去,问到第 n 个月时,该饲养场共有兔子多少只?

源代码:

#include <stdio.h>int main(){int x0,x1;                       //x0-每个月出生的兔子数 x1-兔子总数 int month,time;                  //兔子繁殖月数month while(scanf("%d",&month)!=EOF){time=0;x1=1;while(time<month)            //繁殖month个月 {x0=x1;x1=x0*2;time++;printf("%d %d\n",x0,x1);}printf("%d\n",x1);}return 0;}

程序截图:



2. 阿米巴用简单分裂的方式繁殖,它每分裂一次要用 3 分钟。将若干个阿米巴放在一个盛满营养液的容器内, 45 分钟后容器内充满了阿米巴。已知容器最多可以装阿米巴 2^20 个。试问,开始的时候往容器内放了多少个阿米巴?

源代码:

#include <stdio.h>#include <math.h>int main(){int i=45,num=pow(2,20);while(i>0){num/=2;i-=3;}printf("%d\n",num);return 0;}

程序截图:


3. 猴子吃桃问题:猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子?

源代码:

#include <stdio.h>int main(){int day=10;int x0,x1=1;            //x0 x1分别表示前一天和后一天的桃子数 while(day>1){x0=(x1+1)*2;x1=x0;day--;}printf("%d\n",x0); return 0;}

程序截图:

0 0
原创粉丝点击