JavaScript is required

Nếu muốn sinh ra một số nguyên ngẫu nhiên từ 1->6, biểu thức nào sau đây được dùng?

A.

(int)(Math.random()*6)+1

B.

(int)(Math.random()*6)

C.

(int)(Math.random()+6)

D.
Math.random()*6
Trả lời:

Đáp án đúng: A


Để tạo ra một số nguyên ngẫu nhiên trong khoảng từ 1 đến 6 (bao gồm cả 1 và 6), ta cần sử dụng hàm `Math.random()` để tạo ra một số thực ngẫu nhiên trong khoảng [0, 1) (tức là lớn hơn hoặc bằng 0 và nhỏ hơn 1). Sau đó, ta nhân số này với 6 để được một số thực trong khoảng [0, 6). Tiếp theo, ta sử dụng hàm `(int)` để lấy phần nguyên của số này, kết quả sẽ là một số nguyên trong khoảng từ 0 đến 5. Cuối cùng, ta cộng thêm 1 để được một số nguyên trong khoảng từ 1 đến 6. Phân tích các đáp án: - A. `(int)(Math.random()*6)+1`: Đây là đáp án đúng, vì nó thực hiện đúng các bước như đã giải thích ở trên. - B. `(int)(Math.random()*6)`: Đáp án này sẽ tạo ra một số nguyên ngẫu nhiên từ 0 đến 5, không phải từ 1 đến 6. - C. `(int)(Math.random()+6)`: Đáp án này không đúng vì `Math.random()` trả về một số trong khoảng [0, 1), cộng với 6 sẽ cho một số trong khoảng [6, 7). Lấy phần nguyên sẽ luôn là 6. - D. `Math.random()*6`: Đáp án này sẽ tạo ra một số thực ngẫu nhiên trong khoảng [0, 6), không phải là một số nguyên.

Câu hỏi liên quan