Entrada: dos enteros n y k dados en cualquier forma que sea conveniente para su código
Salida Una secuencia aleatoria no decreciente de k enteros, cada uno en el rango de 1 a n. La muestra debe elegirse uniformemente entre todas las secuencias no decrecientes de k enteros con enteros en el rango de 1 a n.
La salida puede estar en cualquier formato razonable que considere conveniente.
Puede usar cualquier generador pseudoaleatorio que proporcione su biblioteca / idioma favorito.
Podemos suponer que los enteros n, k> 0.
Ejemplo
Digamos n, k = 2. Las secuencias no decrecientes son
1,1
1,2
2,2
Cada secuencia debe tener una probabilidad de 1/3 de salida.
Restricción
Su código debe ejecutarse en no más de unos segundos para k = 20 yn = 100.
Lo que no funciona
Si solo muestra cada número entero al azar del rango 1 a ny luego ordena la lista, no obtendrá una distribución uniforme.