循环-26. 求给定序列前N项和之4(15)

循环-26. 求给定序列前N项和之四(15)

本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。

输入格式:

输入在一行中给出一个正整数N。

输出格式:

在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后3位。题目保证计算结果不超过双精度范围。

输入样例:
10
输出样例:
sum = 0.819
import java.math.BigDecimal;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner cin = new Scanner(System.in);
		double n = cin.nextInt();
		double sum = 0;
		for (double i = 1.0, j = 1; i <= n; i++, j += 3) {
			if (i % 2 != 0) {
				sum += 1 / j;
			} else {
				sum -= 1 / j;
			}
		}
		BigDecimal bd = new BigDecimal(sum);
		bd = bd.setScale(3, BigDecimal.ROUND_HALF_UP);
		System.out.println("sum = "+bd);
	}
}