#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sun Nov 22 12:44:36 2020

@author: home
"""

import itertools as itls # bibliothèque qui permet de générer des permutations,
                         # des k-uplets, des parties d'une liste

# nombre de k-uplets d'éléments distincts d'un ensemble à n éléments = n!/(n-k)!

def nombre_k_uplets_distincts(n):
    """
    fonction qui :
    - prend en paramètre d'entrée le nombre n d'éléments d'un ensemble
    - affiche l'ensemble E = [1,2,3,...,n]
    - affiche tous les k-uplets distincts de E pour k compris entre 0 et n, et les dénombre.
    """
    L = []
    E = [i for i in range(1,n+1)]
    print("E = ",E)
    for k in range(n+1):
        L = list(itls.permutations(E,k))
        print(k,"-uplets distincts de E : ",L)
        print("nombre de",k,"-uplets distincts de E : ",len(L))

# modifier (remplacer le nombre 5) le paramètre dans la fonction ci-dessous par le nombre souhaité :

print(nombre_k_uplets_distincts(5))