Bonjour, j'espère tout d'abord être dans la bonne section. Mon problème se situe dans la conception d'un algorithme permettant de calculer la réduction maximale d'un panier d'articles selon un carnet de coupons de réduction.
Pour cela j'ai essayé de découper le but recherché en règles simples :
A savoir qu'un coupon ne peut être utilisé que pour un seul article.
Un coupon peut avoir soit une valeur fixe soit une valeur dépendant du prix de l'article.
Un article ne peut utiliser qu'un seul coupon.
La réduction la plus importante doit être effectuée
On doit consommer le moins de coupons possible pour atteindre la réduction la plus importante.
Le soucis c'est que je ne vois pas du tout comment faire pour gérer les cas particulier du genre
Article1 associé au coupon1 (10% de remise)
Article2 associé au coupon1 (10% de remise) coupon2 1,5 €
Si article1=10€ et article2<25€ alors remise maximale 2,5€ (2 coupons utilisés)
Si article1=10€ et article2=25€ alors remise maximale 2,5€ (1 coupon utilisé)
Si article1=10€ et article2>25€ alors remise maximale 10% de article2 (1 coupon utilisé)
L'exemple est simple car il ne met en jeu que 2 coupons sur 2 articles mais je ne vois pas comment pousser ce raisonnement pour x articles et y coupons.
Si quelqu'un avait une idée je suis preneur parce que pour le moment à part avoir exploser le mur de mon bureau à coups de tête et avoir une bonne migraine je ne vois pas comment commencer.
Merci d'avance
Partager