slusne sa to da robit tak ze na zaciatku mas X cisel takze generujes nahodne cislo od 1 po X. to vyberes a odstranis z pola (posunies zbytok pola). Teraz uz mas len X-1 cisel takze generujes nahodne cislo od 1 po X-1, vyberes z pola, odstranis, a tak dookola v cykle az kym nebude pocet cisel 0.
optimalizovat sa to potom este da tak ze neposuvas pole ale urobis si len masku ze ktore uz boli vybrate a pri vyberani dalsieho cisla prehladavs masku a ratas pocet nevybratych cisel od zaciatku.
P.S. myslim ze tento postup by nemal modifikovat rozdelenie pravdepodobnosti takze rozdelenie by malo ostat take jake mas u generatora nahodnych cisel, ale nechce sa mi to ratat ani matematicky dokazovat :)