C++用动态分配空间的方法计算fibonacci的前9项
时间: 2024-09-20 15:02:56 浏览: 34
在C++中,我们可以使用动态内存分配来计算Fibonacci数列的前9项,因为数组大小需要在运行时确定。以下是使用动态内存分配和递归方法的一个简单示例:
```cpp
#include <iostream>
using namespace std;
// 动态分配数组存储斐波那契序列
int* fibonacci(int n) {
int* fib = new int[n]; // 动态创建n个整数大小的空间
fib[0] = 0;
fib[1] = 1;
// 递归计算并填充数组
for (int i = 2; i < n; i++) {
fib[i] = fib[i - 1] + fib[i - 2];
}
return fib;
}
int main() {
const int N = 9; // 计算前9项
int* fibSequence = fibonacci(N);
cout << "Fibonacci sequence of the first " << N << " terms:" << endl;
for (int i = 0; i < N; i++) {
cout << fibSequence[i] << " ";
}
delete[] fibSequence; // 释放动态分配的内存
return 0;
}
```
在这个程序中,`fibonacci`函数首先动态分配了一个长度为`n`的数组,然后通过递归计算并将结果存入数组。主函数中打印出前9项,并在结束时记得使用`delete[]`来释放动态分配的内存,防止内存泄漏。
阅读全文