昆虫繁殖递推

传送门

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]);
}
发布了115 篇原创文章 · 获赞 3 · 访问量 1768

猜你喜欢

转载自blog.csdn.net/qq_43721152/article/details/104855840
今日推荐