Se você não conhece bem esse problema, dê uma olhada aqui. Usando Python, fiz uma simulação monte carlo para responder essa pergunta.
import numpy as np
import matplotlib.pyplot as plt
def geraPacote(numeroFigurinhasPacote,numeroFigurinhasAlbum):
pacote=np.random.randint(0,numeroFigurinhasAlbum,numeroFigurinhasPacote)
return pacote
if __name__ == '__main__':
# Parametros
numeroFigurinhasPacote=5
numeroFigurinhasAlbum=640
numeroAmostras=500
simulations=np.empty([numeroAmostras])
album=np.zeros([numeroFigurinhasAlbum],dtype=bool)
# Variaveis
porcentagemPreenchida=0.95
preenchimento=int(porcentagemPreenchida*numeroFigurinhasAlbum)
# Código Principal
media=0
for i in range(numeroAmostras):
print "Amostra", i
album=np.zeros([numeroFigurinhasAlbum],dtype=bool)
numeroFigurinhasPreenchidas=0
somaNumeroDePacotesUsados=0
while (numeroFigurinhasPreenchidas<preenchimento):
pacote=geraPacote(numeroFigurinhasPacote,numeroFigurinhasAlbum)
somaNumeroDePacotesUsados=somaNumeroDePacotesUsados+1
for j in range(numeroFigurinhasPacote):
if (not album[pacote[j]]):
album[pacote[j]]=True
numeroFigurinhasPreenchidas=numeroFigurinhasPreenchidas+1
#print "Numero Figurinhas Preenchidas", numeroFigurinhasPreenchidas
simulations[i]=somaNumeroDePacotesUsados
media=media+somaNumeroDePacotesUsados
media=media/numeroAmostras
print "Média de 100 simulações:", media
matplotlib.pyplot.hist(simulations,bins=30)
A simulação abaixo considera os parâmetros do album de figurinhas da Copa de 2014 da Panini:
1) O album tem 640 figurinhas diferentes
2) Cada pacote vem com 5 figurinhas
3) Supõe-se que as figurinhas dentro de cada pacote são independentes.
4) Os pacotes também são independentes
Também fiz a suposição que desejo preencher 95% do album. A figura abaixo apresenta a distribuição a partir de 500 amostras.
