IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Somme à trouver parmi une liste de montants


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Par défaut Somme à trouver parmi une liste de montants
    Ennoncé du problème:

    J'ai un fichier qui reprend des montants. Chaque montant est identifié par un numéro de facture. Je cherche à écrire un algoritme qui permettrait de trouver quels sont les montants de ce fichier qui correspondraient à un total donné.

    Il peut s'agir d'un, de plusieurs ou de tous les montants. Le résultat me donnerait les numéros de facture correpondants.

    Merci de votre aide. Je cherche mais je tourne en rond...

    Philippe.

  2. #2
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 78
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Par défaut
    Peut-on parler d'algorithme pour un problème aussi simple?
    Tu as en entrée une liste (ou un tableau), bref une collection d'objets qui sont des associations (paires) numéro-montant (n:m), ainsi qu'un montant x.
    En sortie tu dois récupérer une liste de numéros correspondant aux factures dont le montant est x.
    Tu balaies donc ta liste entrée par une itération (boucle) en faisant un test, et à chaque fois que le test réussit (m==x) tu ajoutes n à la liste Résultat supposée vide au départ.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Par défaut ??
    Supposons la liste suivante :

    N M
    1 5
    2 9
    3 11
    4 20
    5 50
    6 22
    7 17
    8 8
    9 25

    et X = 81

    Comment obtenir la réponse 2, 5, 6 (soit 9 + 50 + 22). Je suppose bien qu'on balaie la liste par itération mais de quelle manière sans utiliser des boucles à n'en plus finir...

  4. #4
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Bah je ne pense pas qu'il y a de méthode toute faite vu qu'en plus tu cherches toutes les combinaisons qui donne 81 (si tu n'en cherchais qu'une, ça aurai déjà plus rapide).
    Donc il te faut choisir une première valeur, puis itérer sur les autres pour voir si ça marche, reprendre la deuxième valeur, et recommencer, etc...

  5. #5
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Quel langage va te servir pour implémenter ton algo ?

    De manière générale, tu vas devoir fixer une valeur, en fixer une deuxième, ainsi de suite jusqu'à ce que ça marche ou que ça échoue, et ensuite "dé-fixer" la dernière valeur fixée, essayée les suivantes, et ainsi de suite.

    Bien sûr, avec des petites optimisations par-ci par-là.

    Ce sujet pourrait t'intéresser : http://www.developpez.net/forums/d37...mme-identique/

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 357
    Par défaut
    Il s'agit d'un problème intitulé sac à dos, maintenant à toi de faire bosser google

Discussions similaires

  1. [11gR2] Trouver les éléments absents parmi une liste
    Par Casshern dans le forum SQL
    Réponses: 1
    Dernier message: 27/05/2014, 13h21
  2. Réponses: 19
    Dernier message: 10/01/2007, 22h45
  3. Réponses: 10
    Dernier message: 15/12/2006, 07h34
  4. [XSLT]Recuperer une valeur parmis une liste. (tri)
    Par Asaturne dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 16/06/2006, 17h27
  5. Choisir un chiffre aléatoire parmi une liste
    Par djsbens dans le forum Général Java
    Réponses: 2
    Dernier message: 08/03/2006, 18h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo