编写一个c++程序,计算s=1+1/2+1/4+1/7+1/11+1/16…当第i项小于十的负四次方时结束
时间: 2023-10-03 22:08:49 浏览: 75
#include <iostream>
using namespace std;
int main() {
double s = 1;
double i = 2;
double num = 2;
while(1) {
num = num + i;
double temp = 1.0 / num;
if(temp < 1e-4) {
break;
}
s += temp;
i++;
}
cout << "s = " << s << endl;
return 0;
}
相关问题
用c++编写程序计算: S=1+1/2+1/3+…+1/100。
以下是用 C 语言编写的程序,用于计算 S=1+1/2+1/3+...+1/100 的值:
```c
#include <stdio.h>
int main() {
double sum = 0.0;
for (int i = 1; i <= 100; i++) {
sum += 1.0 / i;
}
printf("S = %f\n", sum);
return 0;
}
```
运行结果为:
```
S = 5.187378
```
这是 S 的近似值,精确值为无限级数 ln(100) + γ,其中 γ 是欧拉常数,约为 0.5772156649。
C++根据公式 s=1+1/2-1/3+1/4+1/5-1/6+1/7+1/8-1/9+ …… 计算s的值,直到最后一项小于指定的数值。
根据提供的算法,可以使用C++编写程序来计算s的值,直到最后一项小于指定的数值。具体实现方法如下:
```C++
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double s = 1.0; // 初始化s的值为1.0
double n = 1.0; // 初始化n的值为1.0
double t = 1.0; // 初始化t的值为1.0
double eps = 1e-7; // 指定的数值为10的-7次方
while (fabs(t) >= eps) { // 当最后一项的绝对值小于指定的数值时,退出循环
n++;
t = pow(-1, n - 1) / n; // 计算每一项的值
s += t; // 累加每一项的值
}
cout << "s的值为:" << s << endl; // 输出s的值
return 0;
}
```