1. 程式人生 > >ZZULIOJ1042: 數列求和3

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));

	}
}