#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
if (!(cin >> n)) return 0;
// 处理特殊情况
if (n == 1 || n == 2) {
cout << 1 << endl;
return 0;
}
// 用三个变量滚动计算,节省空间
// a 是前两项,b 是前一项,c 是当前项
long long a = 1, b = 1, c = 0;
for (int i = 3; i <= n; i++) {
c = a + b; // 当前项 = 前两项之和
a = b; // 往后挪一位:原来的前一项变成现在的前两项
b = c; // 往后挪一位:原来的当前项变成现在的前一项
}
cout << c << endl;
return 0;
}

京公网安备 11010502036488号