Java - Tính giá trị của biểu thức K = 1 + 1/2! + 1/3! + ... + 1/n! (n > 0).

Viết chương trình tính giá trị của biểu thức K = 1 + 1/2! + 1/3! + ... + 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. Kết quả làm tròn đến 2 chữ số thập phân.

Bài giải

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

Bài giải.
package vong_lap_for;

import java.text.DecimalFormat;
import java.util.Scanner;

public class TinhGiaTriCuaBieuThucK {

	public static void main(String[] args) {
		int n;
		float sum = 0, temp = 1;
		Scanner scanner = new Scanner(System.in);
		
		// làm tròn đến 2 chữ số thập phân
		DecimalFormat decimalFormat = new DecimalFormat("#.##");
		
		// 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++) {
			temp *= i;	// tính giai thừa
			sum += (float) 1/temp;
		}
		
		System.out.println("Tổng = " + decimalFormat.format(sum));
	}

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

Nguồn: freetuts.net