题解
昆虫繁殖
1 条题解
-
0
#include<bits/stdc++.h> using namespace std; // 定义全局变量 x, y, z 分别表示成虫产卵周期、每对成虫产卵对数和总月份数 int x, y, z; // 定义两个数组 f 和 s,分别用于记录每个月的成虫对数和卵对数 int f[1000], s[1000]; int main() { // 从标准输入读取 x, y, z 的值 cin >> x >> y >> z; // 初始化前 x 个月的成虫对数为 1,对应初始条件 for (int i = 1; i <= x; i++) { f[i] = 1; s[i] = 0; // 前 x 个月没有卵 } // 从第 x+1 个月开始计算 for (int i = x + 1; i <= z + 1; i++) { // 当前月的卵对数等于 x 个月前的成虫对数乘以每对成虫产卵对数 y s[i] = f[i - x] * y; // 当前月的成虫对数等于上个月的成虫对数加上两个月前的卵对数(因为卵需要两个月成长为成虫) f[i] = f[i - 1] + s[i - 2]; } // 输出第 z+1 个月的成虫对数 cout << f[z + 1]; return 0; }
- 1