Python et combinatoire

Créer des scripts python pour calculer le nombre de permutations d'un ensemble à n éléments, le nombre de k-arrangements d'un ensemble à n éléments, le nombre de combinaisons de k éléments dans un ensemble à n éléments, de plusieurs façons.

Question

Script pour le nombre de permutations

Solution

1
def fact(n):
2
    f=1
3
    for i in range(1,n+1):
4
        f=f*i
5
    return f
6
7
def fact_recur(n):
8
    if n==0:
9
        return 1
10
    else:
11
        return n*fact_recur(n-1)

Question

Script pour le nombre de k-arrangements d'un ensemble à n éléments.

Solution

1
def arr1(n,k):
2
    return int(fact(n)/fact(n-k))
3
4
def arr2(n,k):
5
    a=1
6
    for k in range(k):
7
        a=a*(n-k)
8
    return int(a)

Question

Script pour le nombre de combinaisons de k éléments parmi n.

Solution

1
2
def combi1(n,k):
3
    return int(fact(n)/fact(k)/fact(n-k))
4
    
5
def combi2(n,k):
6
    a=1
7
    for i in range(k):
8
        a=a*(n-i)/(k-i)
9
    return int(a)