斐波那契数兔子

斐波拉契养兔子。第一个月刚开始有a对兔子, 已知每对兔子从出生后第k个月起(含第k个月)每个月都生一对兔子,假如兔子都不死,现在想知道第n个月有多少只兔子。

输入格式

一行,三个整数a,k,n。

输出格式

一个整数,表示第n个月的兔子数量。

样例一

input

1 3 3

output

2

限制与约定

1≤a,n≤10^3, 1≤k≤10^2

#include<stdio.h>
#include<math.h>
int main()
{
    int a,k,i,n;
    long long int f[1001]={0};
    scanf("%d%d%d",&a,&k,&n);
    if(k>=1&&n<=1000&a>=1&&k<=100)
    {
        if(k==1)
        {
            for(i=0;i<n;i++)
                f[i]=a*pow(2,i+1);
            printf("%lld\n",f[n-1]);
            goto end;
        }
        if(n<k)printf("%d\n",a);
        else
        {
            for(i=0;i<k;i++)
                f[i]=a;
            for(i=k-1;i<n;i++)
                f[i]=f[i-k+1]+f[i-1];
            printf("%lld",f[n-1]);
        }
    }
    else if(n<=0)printf("0");
    end:return 0;
}
2489d7c5-0bba-4631-b014-a554442fa74f
posted @ 2022-12-06 08:57  SnowDreamXUE  阅读(8)  评论(0编辑  收藏  举报  来源