Java - Tính giá trị của biểu thức R = 1 + 2^2 + 3^3 + ... + n^n (n > 0).
Viết chương trình tính giá trị của biểu thức R = 1 + 2^2 + 3^3 + ... + n^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
-------------------- ######## --------------------
package vong_lap_for; import java.util.Scanner; public class TinhGiaTriBieuThucR { public static void main(String[] args) { int n, sum = 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++) { int temp = 1; // duyệt j từ 1 đến khi j còn nhỏ hơn hoặc bằng i for (int j = 1; j <= i; j++) { temp *= i; } sum += temp; } System.out.println("Tổng = " + sum); } }
Giải thích hoạt động của chương trình trên: Giả sử tôi nhập vào giá trị biến n = 3
.
Bước 1: Vòng lặp for
bên ngoài khởi tạo biến i = 1
và vì 1 < 3 nên chuyển sang Bước 2.
Bước 2: Khởi tạo biến temp = 1
.
Bước 3: Vòng lặp for
bên trong khởi tạo biến j = 1
và vì 1 = 1 nên sẽ tính giá trị biến temp = temp * i = 1
.
Bài viết này được đăng tại [free tuts .net]
Bước 4: Thực hiện biểu thức j++
, lúc này biến j = 2
và vì 2 > 1 nên chuyển sang Bước 5.
Bước 5: Tính giá trị biến sum = sum + temp = 1
.
Bước 6: Quay lại vòng lặp for
bên ngoài thực hiện biểu thức i++
, lúc này biến i = 2
và vì 2 < 3 nên chuyển sang Bước 7.
Bước 7: Vòng lặp for
bên trong khởi tạo biến j = 1
và vì 1 < i = 2 nên sẽ tính giá trị biến temp = temp * i = 2
.
Bước 8: Thực hiện biểu thức j++
, lúc này j = 2
và vì 2 = 2 nên sẽ tính giá trị biến temp = temp * i = 4
.
Bước 9: Thực hiện biểu thức j++
, lúc này biến j = 3
và vì 3 > 2 nên chuyển sang Bước 10.
Bước 10: Tính giá trị biến sum = sum + temp = 5
.
Bước 11: Quay lại vòng lặp for
bên ngoài thực hiện biểu thức i++
, lúc này biến i = 3
và vì 3 = 3 nên chuyển sang Bước 12.
Bước 12: Vòng lặp for
bên trong khởi tạo biến j = 1
và vì 1 < i = 3 nên sẽ tính giá trị biến temp = temp * i = 3
.
Bước 13: Thực hiện biểu thức j++
, lúc này j = 2
và vì 2 < 3 nên sẽ tính giá trị biến temp = temp * i = 3 * 3 = 9
.
Bước 14: Thực hiện biểu thức j++
, lúc này biến j = 3
và vì 3 = 3 nên sẽ tính giá trị biến temp = temp * i = 27
.
Bước 15: Thực hiện biểu thức j++
, lúc này biến j = 4
và vì 4 > j = 3 nên chuyển sang Bước 16.
Bước 16: Tính giá trị biến sum = sum + temp = 5 + 27 = 32.
Bước 17: Quay lại vòng lặp for
bên ngoài thực hiện biểu thức i++
, lúc này biến i = 4
và vì 4 > i = 3 nên chuyển sang Bước 18.
Bước 18: Hiển thị tổng sum = 32
ra màn hình. Chương trình kết thúc.
Câu hỏi thường gặp liên quan:
- Java - Tính trung bình cộng của n số nguyên nhập từ bàn phím.
- Java - In ra 20 số nguyên dương đầu tiên ra màn hình.
- Java - Hiển thị và cho phép người dùng chọn vào chức năng tương ứng.
- Java - Tính giá trị của biểu thức P = 1.3.5...(2n+1) với n >= 0.
- Java - Tính giá trị của biểu thức S = 1 + 3 + 5 + n + ... + (2n + 1) (n >= 0).
- Java - Tính giá trị của biểu thức S = 1 - 2 + 3 - 4 + 5 + ... + ((-1)^(n+1)) * n (n > 0).
- Java - Tính giá trị của biểu thức S = 1 + 1.2 + 1.2.3 + ... + 1.2.3.n (n > 0).
- Java - Tính giá trị của biểu thức T = 1^2 + 2^2 + 3^2 +... + n^2 (n > 0).
- Java - Tính giá trị của biểu thức Q = 1 + 1/2 + 1/3 + ... + 1/n (n > 0).
- Java - Tính giá trị của biểu thức R = 1 + 2^2 + 3^3 + ... + n^n (n > 0).
- Java - Tính giá trị của biểu thức U = 1/2 + 2/3 + 3/4 + ... + n/(n+1) (n > 0).
- Java - Tính giá trị của biểu thức K = 1 + 1/2! + 1/3! + ... + 1/n! (n > 0).
- Java - Tính giá trị của biểu thức M = 1 + (1+2)/2! + (1+2+3)/3! + ... + (1+2+3+...+n)/n! (n > 0).