import numpy.random as rd
import matplotlib.pyplot as plt

def remplir(n,N) :
    L = [0]*N
    for k in range(n) :
        L[rd.randint(N)] += 1
    return L
    
def nombre(n,N) :
    cpt = 0
    L = remplir(n,N)
    for k in L :
        if k != 0 :
            cpt += 1
    return cpt
    
def moy(n,N) :
    s = 0
    for _ in range(500) :
        s += nombre (n,N)
    return s/500

N = 10    
X = list(range(1,100))
M,T = [],[]
for n in X :
    M.append(moy(n,N))
    T.append(N-(N-1)*(1-1/N)**(n-1))
plt.plot(X,M)
plt.plot(X,T)
plt.show()