import numpy as np
import numpy.random as rd
import matplotlib.pyplot as plt

def jeu(n,r,p) :
    L = [k for k in range(r)]
    for _ in range(p) :
        i = rd.randint(2*n)
        if i in L :
            L.remove(i)
        else :
            L.append(i)
    return len(L)
    
def E(p,r) :
    s = 0
    N = 1000
    for _ in range(N) :
        s += jeu(9,r,p)
    return s/N

X = [k for k in range(20)]    
for r in [1,4,7,9,15] :
    Y = [E(k,r) for k in X]
    plt.plot(X,Y)
plt.show()

for r in [1,4,7,9,15] :
    for p in [1,5,9,15,30] :
        print(E(p,r),9+(1-1/9)**p*(r-9))