Thomas1122 Posté(e) le 25 janvier 2022 Signaler Posté(e) le 25 janvier 2022 Bonjour à tous, J'ai besoin d'aide ! 🙂 On s’intéresse au calcul du nombre de façons dont on peut aboutir à un certain montant à partir d’une collection de pièces fixées, dont on dispose en quantité illimitée. Voici une fonction Python qui prend pour 'montant' un entier et pour 'pieces' une liste d'entier, et renvoie le nombre de rendus possibles. Si on donne à la fonction un montant trop élevé, on atteint la limite de récursivité imposée par Python. Ma question: Comment créer une fonction qui pourrait travailler avec des gros montants ? Je crois que l'on peut s'inspirer de la fonction suivante: Merci pour votre aide ! Citer
E-Bahut julesx Posté(e) le 28 janvier 2022 E-Bahut Signaler Posté(e) le 28 janvier 2022 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 ! cat24 a réagi à ceci 1 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.