Input: due numeri interi n e k indicati in qualsiasi forma che sia conveniente per il tuo codice
Output Una sequenza casuale non decrescente di k numeri interi, ciascuno compreso tra 1 e n. Il campione deve essere scelto in modo uniforme tra tutte le sequenze non decrescenti di k numeri interi con numeri interi compresi tra 1 e n.
L'output può essere in qualsiasi formato ragionevole che ritieni conveniente.
Puoi usare qualsiasi generatore pseudo-casuale fornito dalla tua libreria / lingua preferita.
Possiamo supporre che gli interi n, k> 0.
Esempio
Di 'n, k = 2. Le sequenze non decrescenti sono
1,1
1,2
2,2
Ogni sequenza dovrebbe avere probabilità 1/3 di essere emessa.
Restrizione
Il codice dovrebbe essere eseguito in non più di qualche secondo per k = 20 e n = 100.
Cosa non funziona
Se si campiona casualmente ogni numero intero nell'intervallo da 1 a n e quindi si ordina l'elenco non si otterrà una distribuzione uniforme.