def rendu_monnaie_solution(pieces, s): """renvoie une liste minimale de pièces pour faire la somme s avec le système pieces""" # on initialise nb et sol avec ce qui # correspond à la solution 1+1+...+1 (n fois) nb = [n for n in range(s + 1)] sol = [[1]*n for n in range(s + 1)] for n in range(1, s + 1): for p in pieces: if p <= n and 1 + nb[n - p] < nb[n]: nb[n] = 1 + nb[n - p] sol[n] = sol[n - p].copy() sol[n].append(p) return sol[s]