兔子总数问题c++求解

已知一对兔子,每个月可以生一对小兔,而小兔经过一个月生长后也可每月生一对小兔。 即兔子的对数是:第一个月1对,第二个月2对,第三个月3对,第四个月5对,…,假设兔子不死,问x个月后,一共有多少对兔子?

x<=50

#include <bits/stdc++.h>
using namespace std;
int main()
{
//    freopen("ch3_22.in","r",stdin);
//    freopen("ch3_22.out","w",stdout);
    int n,a;
    cin>>n;
    if(n<=1)
    {
        cout<<1<<endl;
    }
    else if(n==2)
        {
            cout<<2<<endl;
        }
    else if(n>2)
        {
            for(int i;i<=a;i++)
            {
                a=
            }
            cout<<a<<endl;
        }
    else return 0;
    return 0; 
}

以下思路,可供参考

以下是C++代码:

#include <iostream>
using namespace std;

int fibonacci(int n) {
    if (n == 1 || n == 2) {
        return 1;
    }
    return fibonacci(n - 1) + fibonacci(n - 2);
}

int main() {
    int x;
    cout << "请输入月数x:";
    cin >> x;
    cout << "x个月后,一共有" << fibonacci(x+1) << "对兔子" << endl;
    return 0;
}
这个问题等效于求斐波那契数列的第x+1项,因为第i个月的兔子数量是斐波那契数列的第i项,特别地,第1个月1对兔子,所以需要计算第x+1项。由于斐波那契数列的递归定义非常简单,因此可以使用递归函数解决此问题。