01/10/2018, 12:30

Trong lập trình không thể tạo ra giá trị ngẫu nhiên (random)

1 bài toán đơn giản như kiểu chọn ngẫu nhiên 1 số từ 1->100
Nhưng hình như không có cách nào để làm cả
Hàm random có sẵn cũng không thể tạo ra giá trị ngẫu nhiên
Mà giá trị random đó được tạo dựa vào 1 vài con số ( thời gian hiện tại… )
Trong c# nếu ta tạo 2 new Random() đồng thời. Thì nó sẽ cho cùng 1 giá trị nếu chạy cùng 1 thời điểm
Ví dụ
x = new Random().Next(0,100);
y = new Random().Next(0,100);
=> Ngạc nhiên chưa. Khi in giá trị của x và y thì nó luôn luôn bằng nhau
Ta buộc phải làm cách khác
Random ran = new Random();
x = ran.Next(0,100);
y = ran.Next(0,100);
=> Thực sự không có cách nào để tạo 1 giá trị mang tính ngẫu nhiên thực sự

Bài liên quan
0