É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

EntréeSortie

Squelette CamlLight

Squelette OCaml