651 字
3 分钟阅读
第n项斐波那契数的计算

题目描述

斐波那契数的定义为: F_0 = F_1 = 1 F_i = F_{i - 1} + F_{i - 2} (i \ge 2) 。本题要求计算第 n 项斐波那契数(注意 n 从 0 开始计数)。请尝试用递归和循环两种方法实现。

注意:由于斐波那契数呈指数级增长,所以对比较小的 n 也会得到很大的计算结果。这里假设输出在 long long 型整数范围内,即 n \le 91

输入格式

输入在一行中给出一个非负整数 n (\le 91)

输出格式

在一行中输出第 n 项斐波那契数。

输入样例

46

输出样例

2971215073

题意

给出递推关系和初始值: F_0 = F_1 = 1 F_i = F_{i - 1} + F_{i - 2} (i \ge 2)

计算出 F_n 并输出。

思路

按题意模拟。注意 F_0 = 1 ,而不是 0

代码

void solve(){
    int n;
    cin >> n;
    long long a[92];
    a[0] = a[1] = 1;
    for(int i = 2;i <= n;i++){
        a[i] = a[i - 1] + a[i - 2];
    }
    cout << a[n];
}

1 条评论

  1. 2026年贵工程寒假训练题解 – 追求的个人博客 2026年1月17日

    […] 第n项斐波那契数的计算 题解 […]

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注