c++输出斐波那契数列示例分享



#include <iostream>
using namespace std;

// 递归函数计算斐波那契数列
int fibonacci(int n) {
    if (n <= 1) return n;
    return fibonacci(n-1) + fibonacci(n-2);
}

int main() {
    int n = 10; // 假设我们要输出前10个斐波那契数
    for (int i = 0; i < n; ++i) {
        cout << fibonacci(i) << " ";
    }
    cout << endl;
    return 0;
}

注意:上述代码虽然能正确输出斐波那契数列,但使用了递归方式,对于较大的`n`值可能会导致性能问题(如栈溢出或执行时间过长)。在实际应用中,更推荐使用迭代法或记忆化递归(也称为动态规划)来提高效率。

下面是一个使用迭代法计算斐波那契数列的示例:


#include <iostream>
#include <vector>
using namespace std;

// 迭代函数计算斐波那契数列
vector<int> fibonacciIterative(int n) {
    vector<int> fib(n);
    if (n > 0) fib[0] = 0;
    if (n > 1) fib[1] = 1;
    for (int i = 2; i < n; ++i) {
        fib[i] = fib[i-1] + fib[i-2];
    }
    return fib;
}

int main() {
    int n = 10; // 假设我们要输出前10个斐波那契数
    vector<int> fib = fibonacciIterative(n);
    for (int num : fib) {
        cout << num << " ";
    }
    cout << endl;
    return 0;
}

这个迭代版本在性能上更优,特别是对于较大的`n`值。