Skip to content

kata monnaie

egaillot edited this page Feb 13, 2013 · 4 revisions

L'objectif de l'exercice est de lister toutes les représentations possibles d'une somme d'argent à l'aide d'un système monétaire donné.

Par exemple :
1 pièce d'or = 21,
1 pièce d'argent = 11,
1 pièce de bronze = 7,
1 pièce de cuivre = 1

Ainsi, dans ce cas, les représentations possible de la somme 22 sont :
1 pièce d'or et 1 pièce de cuivre
2 pièces d'argent
1 pièce d'argent, 1 pièce de bronze et 4 pièces de cuivre
3 pièces de bronze et 1 pièce de cuivre
2 pièces de bronze et 8 pièces de cuivre
1 pièce de bronze et 15 pièces de cuivre
22 pièces de cuivre

Variantes pour compliquer les choses (si c'est trop simple)

Insérer l'émission d'un événement dans le processus de calcul, pour représenter graphiquement le cheminement.

Ou bien : rendre paramétrable le système monétaire et…

  • Retourner une erreur quand la somme n'est pas décomposable dans ce système monétaire
  • Retourner la combinaison qui utilise le moins de pièces
  • Maintenir un état de la "caisse" et ne proposer que les combinaisons possibles, c'est-à-dire celles qu'on peut effectivement former avec l'argent en caisse.

Ce kata est librement inspiré d'un défi posé dans le cadre du concours Code Story 2013.


Cette page fait partie du Kata Logue.

Clone this wiki locally