#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`值。