斐波那契分数前20项求和c++
时间: 2024-11-13 07:25:46 浏览: 19
斐波那契数列是一个经典的数列,其中每个数字是前两个数字之和。斐波那契分数是指将每个斐波那契数除以其后续的数所得到的结果。要计算前20项斐波那契分数的和,你可以按照以下步骤在C++中实现:
```cpp
#include <iostream>
#include <vector>
// 定义斐波那契序列生成函数
std::pair<int, int> fibonacci(int n) {
if (n <= 1)
return {n, 1};
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
// 计算斐波那契分数并累加
double fibonacci_fraction(int n, int denominator) {
int num = fibonacci(n).first;
return static_cast<double>(num) / denominator;
}
int main() {
std::vector<double> fractions(20); // 存储20个斐波那契分数
for (size_t i = 0; i < 20; ++i) {
fractions[i] = fibonacci_fraction(i + 1, fibonacci(i + 2).second);
}
double sum = 0;
for (double fraction : fractions) {
sum += fraction;
}
std::cout << "前20项斐波那契分数之和为: " << sum << std::endl;
return 0;
}
```
这个程序首先定义了一个递归的斐波那契函数`fibonacci`,然后计算斐波那契分数并在`fractions`向量中存储它们。最后通过循环累加这些分数并输出结果。
阅读全文