Aller au contenu

Messages recommandés

Posté(e)

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.

image.png.86465816c93b4afd1854e872d620c38e.png

 

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:

image.png.5fcbb91889cd5125b89448a19c088b5f.png

 

Merci pour votre aide !

  • E-Bahut
Posté(e)

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 !

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.

Invité
Répondre à ce sujet…

Ă—   CollĂ© en tant que texte enrichi.   Coller en tant que texte brut Ă  la place

  Seulement 75 Ă©moticĂ´nes maximum sont autorisĂ©es.

Ă—   Votre lien a Ă©tĂ© automatiquement intĂ©grĂ©.   Afficher plutĂ´t comme un lien

Ă—   Votre contenu prĂ©cĂ©dent a Ă©tĂ© rĂ©tabli.   Vider l’éditeur

Ă—   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insĂ©rez-les depuis une URL.

Ă—
Ă—
  • CrĂ©er...
spam filtering
spam filtering