题目1:
有一种兔子,从出生后第3个月起每个月都生一只兔子,
小兔子长到第三个月后每个月又生一只兔子。
例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。
一月的时候有一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?
数据范围:输入满足
1≤n≤31
思路:寻找数据之间的规律;列出几个月的兔子,分为成熟、新、老三类兔子,找到这三类兔子之间的函数关系。最后将三类兔子加起来就是第n个月的兔子总数。
我的代码:
*/
#include<stdio.h>
int main()
{
int n;
scanf("%d", &n);
int new_baby[31] = { 1 };
int old_baby[31] = { 0 };
int mature[31] = { 0 };
int i = 0;
for (i = 1; i < n; i++)
{
old_baby[i] = new_baby[i - 1];
mature[i] = old_baby[i - 1] + mature[i - 1];
new_baby[i] = mature[i];
}
printf("%d\n", old_baby[n - 1] + new_baby[n - 1] + mature[n - 1]);
return 0;
}
题目2:
#include <stdio.h>
#include<math.h>
int main()
{
double n;
int m;
while(~scanf("%lf%d",&n,&m))
{
double sum=0;
while(m-->0)
{
sum+=n;
n=sqrt(n);
}
sum=(int)(sum*100+0.5)/100.0;
printf("%.2lf\n",sum);
}
return 0;
}