2918: 【例67.2】 昆虫繁殖
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
科学家在热带森林中发现了一种特殊的昆虫,这种昆虫的繁殖能力很强。每对成虫过$x$个月产$y$对卵,每对卵要过两个月长成成虫。假设每个成虫不死,第一个月只有一对成虫,且卵长成成虫后的第一个月不产卵(过$x$个月产卵),问过$z$个月以后共有成虫多少对?
$1≤x≤20,1≤y≤20,x< z≤50$。
$1≤x≤20,1≤y≤20,x< z≤50$。
输入
$x$,$y$,$z$的数值。
输出
过$z$个月以后,共有成虫对数。
样例输入 复制
1 2 8
样例输出 复制
37
提示
#include<bits/stdc++.h> using namespace std; int x, y, n; long long bug[105], egg[105]; long long deal(int x) { long long sum = 0; for (int i = x; i >= 1; i--) { sum += bug[i]; } return sum; } int main() { cin >> x >> y >> n; bug[1] = 1; for (int i = 2; i <= n + 1; i++) { egg[i] = deal(i - x) * y; bug[i] = egg[i - 2]; } cout << deal(n + 1); return 0; }