Bonsoir,
Cette intervention juste pour que tu ne crois pas qu'on ne s'intéresse pas à ton problème, mais, j'ai l'impression qu'il dépasse les compétences de beaucoup d'intervenants de ce site. En tout cas, c'est le cas pour moi car j'ai toujours eu des problèmes de compréhension du fonctionnement exact de la récursivité, donc de son utilisation.
Cela dit, pour voir, j'ai fait fonctionner ton premier script. Ce que j'ai pu constater, c'est qu'on fait un nombre élevé d'appels à def même dans des cas très simples, comme, par exemple, montant=10, pieces=[1,2,5], ce qui explique pourquoi on arrive très vite à la limite. C'est peut-être lié au double appel à la fonction à l'intérieur de la fonction, mais, comme dit, ça dépasse mes compétences.
Je ne peux évidemment pas te proposer d'alternative, d'autant plus que je n'ai pas vraiment compris le principe de l'algorithme.
En espérant que cette réponse en appelle une plus constructive... Avis aux spécialistes !