【例3.4】昆虫繁殖

题目描述

科学家在热带森林中发现了一种特殊的昆虫,这种昆虫的繁殖能力很强。每对成虫过x个月产y对卵,每对卵要过两个月长成成虫。假设每个成虫不死,第一个月只有一对成虫,且卵长成成虫后的第一个月不产卵(过X个月产卵),问过Z个月以后,共有成虫多少对?0≤X≤20,1≤Y≤20,X≤Z≤50。

输入

x,y,z的数值。

输出

过Z个月以后,共有成虫对数。

样例输入 Copy

1 2 8

样例输出 Copy

37

 



#include<iostream>
#include<cstdio>
using namespace std;

const long MAXN = 50 + 1;

long x, y, z;
long f[MAXN], e[MAXN];

int main() {
cin>>x>>y>>z;
for(int i = 1; i <= x; i++) f[i] = 1;
for(int i = x+1; i <= z+1; i++) {
e[i] = f[i - x] * y;
f[i] = f[i - 1] + e[i - 2];
}
printf("%ld\n", f[z+1]);
}

posted @ 2019-06-11 08:45  玛克人(Macren)  阅读(218)  评论(0)    收藏  举报