# 3)
def binom(n,k):
    b=1
    if k==0 : return 1
    else:
        for i in range(k):
            b=b*(n-i)//(i+1)
        return b

for n in range(9):
    print([binom(n,k) for k in range(n+1)])

# 4)
def sn2(n):
    b,k,s=1,0,0
    while(2*k<n):
        s=s+b
        b=b*(n-k)//(k+1)
        k=k+1
    return s/2**n
# en fait, on n'utilise pas vraiment 1) mais on s'en inspire ;o)

# 5)
import matplotlib.pyplot as plt
plt.plot([sn2(20*k) for k in range(1,201)])
plt.show()

