Nombres aleatoris

Donada una seqüència de probabilitats p₁, …, p_(n) (reals entre 0 i 1,
tal que la seva suma fa 1) i un nombre N, feu un programa que torni un N
nombres x₁, …, x_(N) tal que cada x_(i) ∈ {0, n − 1} i cada x_(i)
aparegui en el vector amb probabilitat p_(x_(i)).

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 p_(x_(i)).

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
p_(x_(i)).

Informació del problema

Autoria: Jaume Baixeries

Generació: 2026-01-25T16:34:10.268Z

© Jutge.org, 2006–2026.
https://jutge.org
