泥嚎 • 1个月前
using namespace std;
const int MOD = 100000007; // 取模常数
int main() {
int n;
cin >> n;
// 处理前两项的特殊情况
if (n == 1 || n == 2) {
cout << 1 << endl;
return 0;
}
// 迭代计算斐波那契数列,同时取模
long long a = 1; // f(1)
long long b = 1; // f(2)
long long c; // 用于存储当前计算的项
for (int i = 3; i <= n; i++) {
c = (a + b) % MOD; // 计算当前项并取模
a = b; // 移动指针
b = c;
}
cout << b << endl;
return 0;
}
评论:
请先登录,才能进行评论