本文主要是介绍【刷题】昆虫繁殖,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【问题描述】
科学家在热带森林中发现了一种特殊的昆虫,这种昆虫的繁殖能力很强。每对成虫过x个月产y对卵,每对卵要过两个月长成成虫。假设每个成虫不死,第一个月只有一对成虫,且卵长成成虫后的第一个月不产卵(过x个月产卵),问过z个月以后,共有成虫多少对?
0=<x<=20,1<=y<=20,x=<z<=50
【输入格式】
x,y,z的数值
【输出格式】
过z个月以后,共有成虫对数
【输入样例】
1 2 8
【输出样例】
37
【参考程序】
#include<iostream>
using namespace std;
int main(){long long a[101]={0},b[101]={0},i,j,x,y,z;cin>>x>>y>>z;for(i=1;i<=x;i++){a[i]=1;b[i]=0;}for(i=x+1;i<=z+1;i++) //因为要统计到第z个月后,所以要for到z+1{b[i]=y*a[i-x];a[i]=a[i-1]+b[i-2]; } cout<<a[z+1]<<endl;return 0;
}
【数据结构与算法】递推中兔子繁殖plus版
这篇关于【刷题】昆虫繁殖的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!