Bonjour, j'ai trouvé une fonction pour le problème de la "somme de sous-ensembles" ou "subset sum" qui fonctionne bien.
Je ne comprend pas très bien ce qu'est le with_v dans le code. J'aimerais le convertir pour du VBA sur excel.
Si vous avez une idée? Merci d'avance!
Voici le code :
le résultat ici donne : [5,1,4]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 def subsetsum(array,num): if num == 0 or num < 1: return None elif len(array) == 0: return None else: if array[0] == num: return [array[0]] else: with_v = subsetsum(array[1:],(num - array[0])) if with_v: return [array[0]] + with_v else: return subsetsum(array[1:],num) print(subsetsum([5,1,3,25,33,55,88,77,33,4,22],10))
Partager