2 条题解

  • 0
    @ 2024-9-25 14:27:46
    #include <iostream>
    using namespace std;
    
    int main() {
        int n;
        cin >> n; // 读取正整数 n,n <= 50
    
        if (n == 1 || n == 2) {
            cout << "1" << endl; // 第 1 和 2 个数都是 1
            return 0;
        }
    
        // 用来保存 Fibonacci 数列的前两个数
        int fib1 = 1, fib2 = 1;
        int fibN; // 用来保存第 n 个 Fibonacci 数
    
        // 迭代计算 Fibonacci 数列
        for (int i = 3; i <= n; ++i) {
            fibN = fib1 + fib2; // 计算当前的 Fibonacci 数
            fib1 = fib2; // 更新 fib1 为 fib2
            fib2 = fibN; // 更新 fib2 为 fibN
        }
    
        cout << fibN << endl; // 输出第 n 个 Fibonacci 数
        return 0;
    }
    
    

    信息

    ID
    744
    时间
    1000ms
    内存
    128MiB
    难度
    4
    标签
    递交数
    31
    已通过
    16
    上传者