C++已知Fibonacci数列的规律是1,1,2,3,5,8,…,即数列的前两项是1,其后的每一项都是其前两项的和。输出Fibonacci数列的前n(1<=n<=40)项。要求定义并调用含静态变量的函数Fibonacci(n)计算Fibonacci数列的第n项。
时间: 2024-01-01 12:12:19 浏览: 171
C语言程序设计-用函数求fibonacci数列前n项的和;说明:fibonacci数列为数列的第一项值为1,第二项
5星 · 资源好评率100%
好的,我知道了。以下是实现代码:
```c++
#include <iostream>
using namespace std;
int Fibonacci(int n) {
static int arr[40] = {1, 1};
if (n <= 0) {
return 0;
} else if (arr[n-1] != 0) {
return arr[n-1];
} else {
arr[n-1] = Fibonacci(n-1) + Fibonacci(n-2);
return arr[n-1];
}
}
int main() {
int n;
cout << "请输入n的值(1<=n<=40):";
cin >> n;
for (int i = 1; i <= n; i++) {
cout << Fibonacci(i) << " ";
}
cout << endl;
return 0;
}
```
函数`Fibonacci`采用了静态变量`arr`,用于存储已经计算过的Fibonacci数列的值。当函数需要计算第n项Fibonacci数列的值时,先判断`arr`中是否已经存储了该值,如果有则直接返回,否则通过递归调用计算出该值并存储在`arr`中。在`main`函数中,根据用户输入的n值依次输出前n项Fibonacci数列的值。
阅读全文