递推做法 思路+代码
2025-09-09 18:11:40
发布于:山东
18阅读
0回复
0点赞
设为第个月时,成虫的对数
面对这样经典的递推题,还是尝试寻找递推关系
可以注意到:实际上受两个因素影响:
- 当月会有新成熟的成虫
- 当月会有从上个月活下来的“老成虫”
可以注意到,当月新成熟的成虫一定是从前个月的成虫产生的,每对成虫可以产生对卵,则当月新成熟的成虫的个数为
“老成虫”的数量显然为
故得,递推关系为:
由于初始的成虫的y对卵,在个月后才能成熟,在此之前,
故得,初始条件为:
总结:
Warning!!!
题目求的是个月后,由于我们是从第一个月出发,所以求的是而不是哦
#include <bits/stdc++.h>
using namespace std;
int x,y,z,a[1000],new_bug[1000];
int main(){
cin>>x>>y>>z;
z+=1; // Warning
a[1] = 1; // Basic condition
for(int i=2;i<=z;i++){
if(i<=x+2){ // M3
a[i] = 1;
continue;
}
a[i] = (a[i-x-2])*y+a[i-1];
}
cout << a[z];
}
全部评论 1
太好了
4天前 来自 山东
0
有帮助,赞一个