思路一:递归
#include <iostream>
using namespace std;

int getsum(int n){
    if(n==1||n==2)
        return 1;
    return getsum(n-1)+getsum(n-2);
}
int main() {
    int n;
    cin>>n;
    cout<<getsum(n);
}
// 64 位输出请用 printf("%lld")
思路二:迭代
#include<iostream>
using namespace std;

int main(){
    int n;
    while(cin >> n){ //每次输入n
        if(n <= 2) //前两个月直接输出
            cout << 1 << endl;
        else{
            int dpi_2 = 1; //初始化第1个月
            int dpi_1 = 1; //初始化第2个月
            int output = 0;
            for(int i = 3; i <= n; i++){
                output = dpi_1 + dpi_2; //公式相加
                dpi_2 = dpi_1; //变量更新
                dpi_1 = output;
            }
            cout << output << endl;
        }
    }
    return 0;
}