ZZULIOJ1042: 数列求和3
题目描述
求1-2/3+3/5-4/7+5/9-6/11+...的前n项和,结果保留3位小数。
输入
输入正整数n(n>0)。
输出
输出一个实数,保留3位小数,单独占一行。
样例输入
5
样例输出
0.917
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
double sum = 1.0;
Scanner input = new Scanner(System.in);
int n = input.nextInt();
double deno = 1.0; // 分母
double number; // 分子
for (int i = 2; i <= n; i++) {
if (i % 2 == 0) { // 如果i是偶数,则number是负的
deno += 2; // 计算下一项分母
number = -i / deno; // 计算下一项分子
} else { // 如果i是奇数,则number是正的
deno += 2;
number = i / deno;
}
sum += number; // 累加求和
}
System.out.println(String.format("%.3f", sum));
}
}