Đầu vào: Hai số nguyên n và k được cung cấp dưới mọi hình thức thuận tiện cho mã của bạn
Đầu ra Một chuỗi số nguyên k không giảm ngẫu nhiên, mỗi số trong phạm vi từ 1 đến n. Mẫu phải được chọn thống nhất từ tất cả các chuỗi không giảm của số nguyên k với số nguyên trong phạm vi từ 1 đến n.
Đầu ra có thể ở bất kỳ định dạng hợp lý nào bạn thấy thuận tiện.
Bạn có thể sử dụng bất kỳ trình tạo giả ngẫu nhiên nào mà thư viện / ngôn ngữ yêu thích của bạn cung cấp.
Chúng ta có thể giả sử rằng các số nguyên n, k> 0.
Thí dụ
Nói n, k = 2. Các chuỗi không giảm là
1,1
1,2
2,2
Mỗi chuỗi nên có xác suất 1/3 được xuất ra.
Sự hạn chế
Mã của bạn sẽ chạy trong không quá vài giây với k = 20 và n = 100.
Những gì không làm việc
Nếu bạn chỉ lấy mẫu ngẫu nhiên từng số nguyên từ phạm vi 1 đến n và sau đó sắp xếp danh sách bạn sẽ không nhận được phân phối thống nhất.