寒假题练——day(6)

题目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;
}

版权声明:本文为zxj20041003原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。