Partage
  • Partager sur Facebook
  • Partager sur Twitter

Rendre le plus de monnaie avec des pièces en nombr

    19 février 2017 à 22:07:00

    Bonjour,
    Je suis débutant en algorithme et je cherche à faire un pseudo Algorithme pour le coder par la suite en java.
    Je dois réaliser un Algo permettant de rendre le plus de monnaie. La consigne est de le faire récursivement et on a un nombre limité de pièce. 
    J'ai réussi à faire l'inverse, c'est à dire à rendre le moins de monnaie. Pour faire, je suis partie de la plus grande valeur et j'ai ajouté mes pièces.
    Par contre faire l'inverse je me heurte à plusieurs problèmes.
    La gestion des sommes impaire. J'ai fait une fonction qui me retourne si la somme à rendre est pair ou impair. Dans ma fonction je récupère les entiers, décimal et je divise par deux les décimales. Apres je bloque, en fait je me retrouve avec mes chiffres pair ou impair ainsi que mes entiers et mes décimal. Le problème est qu'il faut créer la liste de pièce à rendre en fonction de la somme du.
    Pour moi, il faut ensuite ajouter pièce par pièce pour créer la sommes du. Mais je pars dans tous les sens et je n'arrive pas à résoudre le problème, j'ai toujours une tache supplémentaire qui vient s'ajouter.
    J'ai vu l'algo de glouton mais cela ne semble pas correspondre à mon besoin.
    Je viens vers vous pour me remettre dans le droit chemin, je ne souhaite pas que l'on me donne la solution cela ne m’intéresse pas du tout.
    Voici ce que je pense faire mais je vais me retrouver avec des sommes jamais rendu et des chiffres pair alors qu’il était impair etc :
    Tableau Piece[] = {1,2,5,10,20,50,1,2};
    Tableau NbPiece[] = {5,2,0,10,3,5,9};
    Tableau rendu[]={}
    
    Fonction renduMonnaie (rendre){
    Pair_Impair(a rendre);
    parcourir Piece[i]{
     si NbPiece[i] !=0
       rendu -> ajouter Piece[i];
       renduMonnaie(rendre - Piece[i])
     sinon si rendre ==0
      Afficher Tableau rendu
     FinSi
    }
    
    }
    Merci par avance de votre aide.
    • Partager sur Facebook
    • Partager sur Twitter
      19 février 2017 à 22:57:23

      Bonsoir,

      En fait, pour avoir le nombre de pièces maximum, c'est le même algorithme que pour le nombre de pièces minimum sauf qu'il faut prendre les pièces de la plus petite à la plus grande.

      • Partager sur Facebook
      • Partager sur Twitter
        20 février 2017 à 15:46:10

        Bonsoir,

        Merci pour la réponse, je pense aussi mais je me heurte au problème de pair et impair.

        Comment gérer le fait que je dois rendre 83cts et que j'ai 4 pièces de un centime. Je vais me retrouver avec un résultat toujours faux.

        • Partager sur Facebook
        • Partager sur Twitter

        Rendre le plus de monnaie avec des pièces en nombr

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown