计算分数加减表达式的值
题目描述
S n = 1 1 − 1 2 + 1 3 − 1 4 + 1 5 − 1 6 + . . . + ( − 1 ) n − 1 × 1 n S_n=\frac{1}{1}-\frac{1}{2}+\frac{1}{3}-\frac{1}{4}+\frac{1}{5}-\frac{1}{6}+...+(-1)^{n-1}\times\frac{1}{n} Sn=11−21+31−41+51−61+...+(−1)n−1×n1。
输入一个整数 n n n,求 S n S_n Sn。
输入格式
输入为一行,含一个正整数 n n n。
输出格式
输出为一行,为 S n S_n Sn 的值,结果保留小数点后 4 4 4 位小数。
样例 #1
样例输入 #1
2
样例输出 #1
0.5000
提示
1
≤
n
≤
1000
1\leq n\leq 1000
1≤n≤1000。
code:
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
//flag标记正负号,
int n,flag=1;
cin>>n;
double Sn;
//flag每循环一次变号一次,达到题目要求
for(int i=1;i<=n;i++)
{
Sn+=1.0/i*flag;
flag=-flag;
}
cout<<fixed<<setprecision(4)<<Sn<<endl;
return 0;
}
result: