1.这道题首先得注意开long long
2.这有两个变量,一个是虫卵,一对是成虫。分别用a[]、b[]表示。
刚开始b[0]就有一对成虫,一直到x-1就只有一个,到了第x天,成虫就开始产虫卵,b[[i]等于之前的成虫加上虫卵2个月变成的成虫.
3.还要注意一点就是循环的初始值和终值
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e2;
int x,y,z;
ll a[maxn],b[maxn];
int main(){
scanf("%d%d%d",&x,&y,&z);
for(int i=0;i<x;i++)
b[i]=1;
for(int i=x;i<=z;i++){
b[i]=b[i-1]+a[i-2];
a[i]=b[i-x]*y;
// cout<<i<<" "<<b[i]<<" "<<a[i]<<endl;
}
printf("%lld\n",b[z]);
}