计算分数加减表达式的值
题目描述
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。
代码内容
// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <stack>//栈
// #include <deque>//堆/优先队列
// #include <queue>//队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll n;
cin>>n;
double sum=0;
for(ll i=1;i<=n;i++)
{
if(i&1) sum+=1.0/i;
else sum-=1.0/i;
}
printf("%.4lf",sum);
return 0;
}