Dane wejściowe: dwie liczby całkowite n i k podane w dowolnej formie dogodnej dla kodu
Wynik Losowa, nie malejąca sekwencja k liczb całkowitych, każda w zakresie od 1 do n. Próbkę należy wybrać jednolicie ze wszystkich nie malejących sekwencji k liczb całkowitych o liczbach całkowitych z zakresu od 1 do n.
Dane wyjściowe mogą być w dowolnym rozsądnym formacie, który uważasz za dogodny.
Możesz użyć dowolnego pseudolosowego generatora, który udostępnia twoja ulubiona biblioteka / język.
Możemy założyć, że liczby całkowite n, k> 0.
Przykład
Powiedz n, k = 2. Nie malejące sekwencje to
1,1
1,2
2,2
Każda sekwencja powinna mieć prawdopodobieństwo 1/3 wyjścia.
Ograniczenie
Twój kod powinien działać w nie więcej niż kilka sekund dla k = 20 i n = 100.
Co nie działa
Jeśli próbkujesz losowo każdą liczbę całkowitą z zakresu od 1 do n, a następnie sortujesz listę, nie uzyskasz jednolitego rozkładu.