Bonjour,
Soit une somme S = 270.
Soit 9 nombres qui varient de 0 à S.
Quelle est la liste des 9 nombres dont la somme est <= S ?
Par exemple
270 0 0 0 0 0 0 0 0
269 0 0 0 0 0 0 0 0
269 1 0 0 0 0 0 0 0
269 0 1 0 0 0 0 0 0
...
268 0 0 0 0 0 0 0 0
....
268 1 1 0 0 0 0 0 0
268 1 0 1 0 0 0 0 0
....
268 0 1 1 0 0 0 0 0
268 0 1 0 1 0 0 0 0
.....
15 0 0 0 0 0 0 0
36 0 25 0 18 0 0 0 0
.....
0 0 0 0 269 0 0 0 0
0 0 0 0 269 1 0 0 0
....
La position du nombre dans la ligne est à prendre en compte.
269 1 0 0 0 0 0 0 0
0 0 0 0 269 1 0 0 0
sont deux combinaisons qui doivent être conservées.
Pour l'instant, j'ai fait une boucle récursive qui génèrent toutes les combinaisons des 9 nombres.
Je teste à chaque fois leur somme.
Si <= S, je garde.
Mais ça fait 270⁹ combinaisons à tester......
Y aurait-il plus rapide pour trouver les combinaisons qui satisfont à la somme sans tester toutes les combinaisons ?
Partager