兔子生兔子问题

/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?

程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....*/

/*解题思路:从第三个数开始每个数都是前两个数的和*/

#include<iostream>
using namespace std;

int fac(int a)
{
    if(a==1||a==2)
        return 1;
    else
        return fac(a-1)+fac(a-2);
}

int main()
{
    int i;
    int sum;
    cout<<"请输入要求的月份:"<<endl;
    cin>>i;
    sum=fac(i);
    cout<<"第"<<i<<"个月的兔子数量为"<<sum<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/m0_47575628/article/details/109099547