Java教程

蝴蝶繁殖

本文主要是介绍蝴蝶繁殖,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目描述

在一个神秘的森林中某种蝴蝶化茧成蝶繁殖的过程为:
每对蝴蝶过x个月产y对卵,每对卵要过两个月长成蝴蝶。
假设每个蝴蝶都不死的情况下,第一个月只有一对蝴蝶,且卵长成蝴蝶后的第一个月不产卵(过x个月产卵),问过z个月以后,共有多少对蝴蝶?

输入

x,y,z的数值
 

输出

过z个月以后,共有多少对蝴蝶。
 

样例输入 复制

1 2 8

样例输出 复制

37

提示

0=<x<=20,1<=y<=20,x=<z<=50 代码:

#include<bits/stdc++.h>
using namespace std;
long long a[60], b[60];
int main(){
    int x, y, z;
    cin >> x >> y >> z;
    for(int i = 1;i <= z+1;i++){
        a[i] = 1;
    }
    for(int i = x+1;i <= z+1;i++){
        a[i] = a[i-1] + b[i-2];
        b[i] = a[i-x] * y;
    }
    cout << a[z+1];
    return 0;
}

这篇关于蝴蝶繁殖的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!