Công cụ tạo số ngẫu nhiên
Tạo số ngẫu nhiên an toàn trong mọi khoảng: số nguyên hoặc thập phân, có hoặc không trùng lặp, sắp xếp hoặc xáo trộn. Tối đa 10.000 số mỗi lần, ngay trong trình duyệt.
0 = số nguyên
Tạo số ngẫu nhiên là gì?
Công cụ này rút số ngẫu nhiên trong khoảng từ Giá trị nhỏ nhất đến Giá trị lớn nhất bạn chọn. Nó có thể tạo số nguyên hoặc số có tới 10 chữ số thập phân, tránh trùng lặp, sắp xếp kết quả và xuất tới 10.000 giá trị mỗi lần. Tính ngẫu nhiên đến từ bộ sinh số an toàn mật mã của trình duyệt, không phải từ Math.random().
Cách sử dụng Tạo số ngẫu nhiên
- Nhập Giá trị nhỏ nhất và Giá trị lớn nhất (cả hai đều nằm trong khoảng).
- Đặt Số lượng số bạn cần và Số chữ số thập phân (0 cho số nguyên).
- Đánh dấu Không trùng lặp nếu mọi số phải khác nhau, rồi chọn thứ tự Sắp xếp và Dấu phân cách.
- Bấm Tạo, sau đó sao chép danh sách hoặc tải xuống dưới dạng file văn bản.
Ví dụ
Minimum 1, Maximum 49, How many 6, No duplicates, Sort ascending
16 19 27 40 44 48
Giá trị là ngẫu nhiên, nên kết quả của bạn sẽ khác.
Khi nào nên dùng Tạo số ngẫu nhiên
Dùng cho bốc thăm, quay thưởng, chọn mẫu kiểm thử, bài tập trên lớp, trò chơi hoặc bất cứ khi nào bạn cần số công bằng, không đoán trước được. Công cụ không thay thế bộ sinh số ngẫu nhiên được chứng nhận trong cờ bạc có quản lý, và với mật khẩu hay khóa, hãy dùng công cụ tạo mật khẩu hoặc tạo khóa bí mật chuyên dụng.
Tạo số ngẫu nhiên hoạt động như thế nào
Byte ngẫu nhiên lấy từ crypto.getRandomValues. Để chọn một giá trị trong khoảng có kích thước *n*, công cụ dùng lấy mẫu loại bỏ (rejection sampling): rút một số nguyên 32-bit (hoặc 53-bit) và loại các giá trị lớn hơn bội số lớn nhất của *n*, nên mọi số trong khoảng có xác suất đúng bằng nhau (không bị lệch do phép modulo). Số thập phân được tạo bằng cách rút một số nguyên trên lưới bước 10^-d rồi chia, nên 0 đến 1 với 2 chữ số thập phân cho ra một trong 101 giá trị 0.00 … 1.00 với khả năng như nhau. Số không trùng dùng thuật toán lấy mẫu của Robert Floyd, chọn *k* giá trị khác nhau trong *k* bước mà không cần dựng toàn bộ khoảng, rồi xáo trộn bằng Fisher–Yates.
Các Trường Hợp Sử Dụng Phổ Biến
- Bốc thăm người trúng giải bằng cách đánh số người tham gia
- Chọn 6 số không trùng kiểu xổ số từ 1 đến 49
- Tạo ID ngẫu nhiên hoặc cỡ mẫu cho bộ dữ liệu kiểm thử
- Chọn giá trị thập phân ngẫu nhiên (ví dụ 0.00–1.00) cho mô phỏng
- Xếp học sinh hoặc người chơi vào vị trí ngẫu nhiên
Câu Hỏi Thường Gặp
Các số có thật sự ngẫu nhiên không?
Chúng đến từ bộ sinh số ngẫu nhiên an toàn mật mã của hệ điều hành thông qua crypto.getRandomValues, không thể đoán trước và phù hợp cho mục đích bảo mật. Lấy mẫu loại bỏ giúp xóa độ lệch mà phép modulo đơn giản sẽ gây ra.
Giá trị nhỏ nhất và lớn nhất có được tính không?
Có. Với nhỏ nhất 1 và lớn nhất 6, mọi giá trị từ 1 đến 6 đều có thể xuất hiện, giống như tung xúc xắc.
Vì sao tôi bị báo lỗi khi bật "Không trùng lặp"?
Một khoảng chỉ chứa số lượng giá trị khác nhau có hạn. Ví dụ 1–10 có 10 giá trị, nên không thể lấy 11 số không trùng. Hãy mở rộng khoảng, thêm chữ số thập phân hoặc giảm số lượng.
Có tạo được số âm không?
Có. Hãy dùng giá trị nhỏ nhất là số âm, ví dụ -50 đến 50.