Donada una seqüència de probabilitats p1, …, pn (reals entre 0 i 1, tal que la seva suma fa 1) i un nombre N, feu un programa que torni un N nombres x1, …, xN tal que cada xi ∈ {0, n−1} i cada xi aparegui en el vector amb probabilitat pxi.
Per exemple, si les probabilitats són:
0.1,0.2,0.4,0.1,0.2 |
i N = 10, el programa ha de treure una llista de N enters entre el 0 i el 4, tal que el 0 hi aparegui amb una probabilitat del 10%, l’1 amb una probabilitat del 20%, el 2 amb una probabilitat del 40%, el 3 amb una probabilitat del 10%, i el 4 amb una probabilitat del 20%.
Cal tenir en compte que el programa també rebrà, com a paràmetre, una llavor per a la funció srand. Per tant, per a generar la llista de sortida caldrà fer servir la funció srand (que inicialitzareu amb la llavor que es donarà com a entrada) i la funció rand per a generar un nombre x ∈ {0,n−1} amb una probabilitat pxi.
Entrada
Una enter que serà la llavor per a la funció srand, un nombre N d’enters que caldrà treure per la sortida, la mida de la llista de probabilitats, la llista de probabilitats.
Sortida
Una llista de N enters en què cada enter apareix amb probabilitat pxi.
Input
6 10 4 0.30 0.20 0.10 0.40
Output
1 3 0 3 0 3 3 1 0 3