Java - Tính giá trị của biểu thức S = 1 - 2 + 3 - 4 + 5 + ... + ((-1)^(n+1)) * n (n > 0).

Viết chương trình tính giá trị của biểu thức S = 1 - 2 + 3 - 4 + 5 + ... + ((-1)^(n+1)) * n với n là số bất kỳ được nhập từ bàn phím (n > 0).

Yêu cầu: Chương trình phải kiểm tra số n nhập vào có phải là số nguyên dương không, nếu không thì yêu cầu người dùng nhập lại.

Bài giải

-------------------- ######## --------------------

Bài giải
package vong_lap_for;

import java.util.Scanner;

public class TinhGiaTriCuaBieuThucS {

	public static void main(String[] args) {
		int n, result = 0;
		Scanner scanner = new Scanner(System.in);
		
		// n còn nhỏ hơn 1 thì còn nhập lại
		do {
			System.out.println("Mời bạn nhập vào số n: ");
			n = scanner.nextInt();
		} while (n < 1);
		
		/*
		 * tính giá trị của biểu thức
		 * i còn nhỏ hơn hoặc bằng n thì còn thực hiện thân vòng lặp
		 */
		for (int i = 1; i <= n; i++) {
			// Kiểm tra nếu số i là số chẵn thì thực hiện phép trừ
			if (i % 2 == 0) {
				result -= i;	// result = result - i;
			} else {
				// Ngược lại nếu số i là số lẻ thì thực hiện phép cộng
				result += i;	// result = result + i
			}
		}
		
		System.out.println("Kết quả = " + result);
	}

}
Kết quả sau khi biên dịch chương trình:

Nguồn: freetuts.net