C++输出斐波那契数列第n项

使用递归方式实现斐波那契数列

#include <iostream>
using namespace std;

int fib(int n) {
    if (n <= 1) {
        return n;
    }
    return fib(n-1) + fib(n-2);
}

int main() {
    int n;
    cout << "请输入n:";
    cin >> n;
    cout << "斐波那契数列第" << n << "项为:" << fib(n) << endl;
    return 0;
}

使用迭代方式实现斐波那契数列

#include <iostream>
using namespace std;

int fib(int n) {
    if (n <= 1) {
        return n;
    }
    int f0 = 0, f1 = 1, fn = 1;
    for (int i = 2; i <= n; i++) {
        fn = f0 + f1;
        f0 = f1;
        f1 = fn;
    }
    return fn;
}

int main() {
    int n;
    cout << "请输入n:";
    cin >> n;
    cout << "斐波那契数列第" << n << "项为:" << fib(n) << endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/SYC20110120/article/details/134706098