Bonjour a tous.
Je travaille sur un algo capable de generer toutes les combinaisons possibles d'une liste.
Je m'explique.
J'ai une liste d'elements contenant chacun 4 attributs, a savoir un identifiant et une quantite. Ils sont donc de la forme : Element(identifiant i, quantite q, prix p1, prix p2).
J'ai egalement une quantite Q qui est la quantite minimale a atteindre.
Ainsi, je dois recuperer toutes les combinaisons possibles de mes elements (je peux les prendre autant de fois que je veux) et je dois au minimum avoir ma somme des quantite des elements associes = Q. J'espere que je suis clair.
Je vous donne un cas concret:
Il me faut 13 Kg de platre. J'ai a ma disposition des sacs de 20,10,5 et 1 Kg.
Ma liste d'elements est donc :
sac1(id_sac1,q_sac1=20,p1_sac1,p2_sac1)
sac2(id_sac2,q_sac1=10,p1_sac1,p2_sac1)
sac3(id_sac3,q_sac1=5,p1_sac1,p2_sac1)
sac4(id_sac4,q_sac1=1,p1_sac1,p2_sac1)
Plusieurs combinaisons possibles sont :
- (1 sac1)
- (1 sac2 + 3 sac4)
- (1 sac2 +1 sac3)
- (13 sac1)
....
Je dois donc generer toutes les combinaisons possibles de sac pour mon probleme.
Je pensais imbriquee des boucle 'for' mais cela est rendu impossible a cause du nombre a priori inconnu de nombre maxi dans de sac dans ma combinaison.
Si vous avez des questions, posez les, je vais essayer de surveiller le topic! Merci d'avance
Partager