Énoncé
Il y a 8 valeurs usuelles pour les pièces en euros : 1¢, 2¢, 5¢, 10¢,
20¢, 50¢, 1€=100¢ et 2€=200¢. De combien de manières possibles peut-on
payer une somme donnée en n'utilisant que des pièces ? NB. On ne tient
pas compte ici de l'ordre dans lequel on donne les pièces. Par exemple,
pour payer 3¢, il y a 2 manières : ou bien on paye 1¢+1¢+1¢, ou bien on
paye 2¢+1¢. Lorsque certaines valeurs de pièces ne sont pas disponibles,
et qu'on n'a accès par exemple qu'aux pièces de 1¢ et de 5¢, le nombre
de manières d'obtenir une somme diminue (par exemple, il n'y a plus que
3 manières de faire 12¢ : 12 fois 1¢, 5¢ et 7 fois 1¢, ou bien 2 fois 5¢
et 2 fois 1¢).
Entrée
La première ligne de l'entrée du programme contient la liste des valeurs
de pièces de monnaie disponibles (en cents), la seconde contient la somme
totale à payer. Le tout est suivi d'un retour à la ligne. Les entrées seront
telles que la réponse ne sera jamais supérieure à 20000.
Sortie
La sortie du programme doit être le nombre de manières de payer la
valeur d'entrée avec les pièces disponibles (il n'y a pas de limite
au nombre de pièces qu'on utilise pour une valeur disponible donnée).
Le tout doit être suivi d'un retour à la ligne.
Exemples
Squelette CamlLight
Squelette OCaml