c++编程求1+1/2+1/3+…+1/n
时间: 2024-10-14 22:09:01 浏览: 150
在C++中,计算序列1 + 1/2 + 1/3 + ... + 1/n 的和是一个经典的数学系列求和问题,通常称为调和级数。如果要用循环实现,你可以创建一个变量用于累加每个分数,然后逐次将1除以从2到n的所有整数加入这个累加器。下面是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
double harmonic_sum(int n) {
double sum = 0.0;
for (int i = 2; i <= n; ++i) {
sum += 1.0 / static_cast<double>(i);
}
return sum;
}
int main() {
int n;
std::cout << "请输入一个正整数: ";
std::cin >> n;
if (n > 0) {
double result = harmonic_sum(n);
std::cout << "1到" << n << "的倒数之和为: " << result << std::endl;
} else {
std::cout << "输入无效,请输入一个正整数。\n";
}
return 0;
}
```
在这个例子中,`harmonic_sum` 函数接收一个整数 `n`,并返回前 `n` 项的调和级数和。注意这里为了防止整数溢出,将1/i转换成浮点数进行加法。
阅读全文
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20241231044736.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![text/x-c](https://img-home.csdnimg.cn/images/20250102104920.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)