求交错序列前N项和-题解

描述

已知一串交错序列:
1−2/3+3/5−4/7+5/9−6/11+……..
请你求出该数列的前N项的和。
例如:
要前3项的和,就是:1−2/3+3/5
要前5项的和,就是:1−2/3+3/5-4/7+5/9

输入描述

输入在一行中给出一个正整数N(1<=N<=1000)。

输出描述

在一行中输出序列和的值,结果保留三位小数。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <bits/stdc++.h>
using namespace std;

int main(){
int n;
cin >> n;
double sum = 0.0;
double a = 1;
bool add = true;
for(int i = 1;i<=n;i++){
if(add){
sum += i/a;
add = 0;
}else{
sum -= i/a;
add = 1;
}
a+=2;
}
printf("%.3lf",sum);
return 0;
}


求交错序列前N项和-题解
https://chenxi-tijie.pages.dev/2025/07/求交错序列前N项和-题解/
作者
chenxi
发布于
2025年7月3日
许可协议