Kata d'exploration du Problème du rendu de monnaie.
À propos
ⓘ Ceci est la donnée d'un kata, un exercice de programmation qui se déroule généralement dans le cadre d'un coding dojo. Il est proposé aux membres du dojo de l'EPFL et fait partie d'une collection de différents katas identifiés par le tag epfl-dojo-kata sur GitHub.
Vous êtes plus que bienvenu·e d'essayer de le réaliser dans le langage de programmation de votre choix. Lorsque c'est terminé, ajoutez-vous à la liste de ceux qui l'ont fait dans ce document en proposant une Pull Request. Vous pouvez également partager votre intérêt pour ce dépôt en le «stargazant», c'est à dire en lui ajoutant une ⭐.
Bonne lecture et bon code !
Le but de ce kata est de voir les algorithmes de rendu de monnaie, comme la méthode glouton ou cela du sac à dos — KP. Il est aussi intéressant de voir comment on peut améliorer le système, par exemple en modifiant la situation de départ.
Forker le
repo et créer une branche (git checkout -b username-langage
par exemple git checkout -b dojo-nodejs
, depuis votre fork). Faites ensuite une pull request
pour l'ajouter à ce repo en vous ajoutant comme contributeur en bas de ce
fichier.
Notre distributeur accepte les pièces de 10, 20 et 50 centimes, 1, 2 et 5 francs et les billets de 10 et 20 francs. Par contre il donne le change qu'en pièces. La situation de départ est de 25 pièces par montant.
Les utilisateurs peuvent acquérir des AAA à 1.70, des BBB à 2.10, des CCC à 2.30, des DDD à 2.50, des EEE à 2.90 et des FFF à 3.40.
Note : le stock est infini.
La liste suivante présente par ordre chronologique les achats effectués par les utilisateurs. A partir de la situation initiale, quel est le montant restant dans l'appareil et quelle est la répartition de pièces/billets ?
Achats | Montant donné | Change |
---|---|---|
AAA | 2.- | 2 x 1.- |
BBB | 5.- | 1 x 5.- |
A compléter... |
A compléter... (Remplir des tests languages agnostiques / Gerkins ?)