Bonjour, mon problème est le suivant: dans un système de facturation, permettre d'utiliser des avoirs qui permettront de ne pas payer la facture. Mais ceci avec des contraintes :
- On a une et une seule facture composée de un à plusieurs articles ayant un montant (sans notion de quantité 1 ligne = 1 article)
- On a un à n avoir composé d'un montant
Le but est de trouver si un ou plusieurs avoirs peuvent-être utilisés sachant que :
- Toutes les lignes d'articles doivent être répartis entièrement dans des avoirs. Ainsi la facture sera à 0
- Un article doit être utilisé entièrement dans un avoir. On ne peut pas mettre une partie du montant dans un avoir et une autre partie dans un autre avoir
Par exemple :
Facture avec 3 articles : 100, 200 et 300€.
- avec 2 avoirs de 500 et 100€ : c'est bon car 500 = 200 + 300 et 100 = 100
- avec 2 avoirs de 250 et 250 : c'est pas bon car on ne peut pas répartir entièrement les articles dans les avoirs sans les scinder
L'idée est donc d'obtenir toutes les combinaisons possibles de n articles dans n avoirs puis de regarder si la somme des articles disposés dans un avoir est égale à l'avoir. Toujours avec l'exemple ci-dessus:
Avoir 1 500€ Avoir 2 100€ 100 200 + 300 100 + 200 300 100 + 300 200 200 100 + 300 200 + 100 300 200 + 300 100 300 100 + 200 300 + 200 100 300 + 100 200
Ce qui me manque c'est l'algo qui va permettre d'obtenir ces combinaisons. Merci si quelqu'un peut m'aider
Partager