编程计算, sn=(1-1/2)+(1/3-1/4)+...+(1/(2n-1)-1/(2n)),结果保留两位小数。
输入格式:
输入整数n值。
输出格式:
输出sn值。
输入样例:
1
输出样例:
0.50
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
思路
输入整数 n
。定义一个 double 类型的变量 sum
,表示序列的和,初值为 0。对于从 1 到 n 的每个正整数 i,计算第 i 项 (1/(2i-1) - 1/(2i)),加到 sum
中。输出 sum
。
代码
#include <stdio.h>
int main() {
// 输入n的值
int n;
scanf("%d", &n);
// 计算序列sn的值,精度问题采用double类型
double sum = 0;
for (int i = 1; i <= n; ++i) {
sum += 1.0 / (2 * i - 1) - 1.0 / (2 * i);
}
// 输出sn的值,保留两位小数
printf("%.2lf", sum);
return 0;
}