输入一个正整数n,计算前n项之和,输入5输出1.56978,输入4输出1.49286
时间: 2024-11-09 16:27:55 浏览: 6
这个问题描述的是一个等比数列求和的问题,其中每一项都是前一项的一半。这种类型的序列有一个特殊的公式可以直接用来计算前n项之和,对于首项a(在这种情况下是1)和公比r(这里是0.5),总和S_n可以用以下公式表示:
\[ S_n = a \frac{1 - r^n}{1 - r} \]
给定正整数n,我们可以使用这个公式来计算和。下面是C++代码实现:
```cpp
#include <iostream>
double geometric_series_sum(int n) {
double a = 1; // 首项
double r = 0.5; // 公比
// 使用上述公式计算前n项和
double sum = a * (1 / (1 - r)) * (1 - pow(r, n));
return sum;
}
int main() {
int n;
std::cout << "请输入一个正整数n: ";
std::cin >> n;
// 计算并打印结果
double result = geometric_series_sum(n);
std::cout << "前" << n << "项之和为: " << result << std::endl;
return 0;
}
```
当你运行这段代码并输入5时,它会返回1.56978,输入4时会返回1.49286。
阅读全文