c++利用递归,求斐波那契数列,并计算前n项斐波那契数列的和
时间: 2024-09-21 11:02:18 浏览: 42
在 C++ 中,递归是一种常见的编程技术,特别是在处理像斐波那契数列这类可以自然地分解成更小部分的问题上。斐波那契数列是一个数列,其中每个数字都是前两个数字之和,通常开始两项为0和1。以下是使用递归的方式计算前 n 项斐波那契数列及其和的示例:
```cpp
#include<iostream>
using namespace std;
// 递归函数计算第 n 项斐波那契数
int fibonacci(int n) {
if (n <= 1)
return n; // 递归基础情况:F(0) = 0 和 F(1) = 1
else
return fibonacci(n - 1) + fibonacci(n - 2); // 递归调用
}
// 函数用于计算并返回前 n 项斐波那契数列的和
long long fibSum(int n) {
long long sum = 0;
for(int i = 0; i < n; ++i) {
sum += fibonacci(i);
}
return sum;
}
int main() {
int n;
cout << "请输入项数 n: ";
cin >> n;
cout << "前 " << n << " 项斐波那契数列为: ";
for(int i = 0; i < n; ++i) {
cout << fibonacci(i) << " ";
}
cout << "\n前 " << n << " 项斐波那契数列的和为: " << fibSum(n) << endl;
return 0;
}
```
阅读全文