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

Mathématiques Discussion :

les somme possibles


Sujet :

Mathématiques

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 7
    Points : 8
    Points
    8
    Par défaut les somme possibles
    Bonjour,
    Je cherche un algo qui va m'aider à trouver toutes les sommes possible pour un nombre.
    Par exemple:
    1+1+1+1=4
    1+1+2=4
    1+3=4
    2+2=4
    ...

    Merci d'avance.

  2. #2
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Je ne vois pas bien l'utilité, mais bon, un principe (naïf, car trouvé en 30 secondes) :
    • Tu décomposes en somme de 1
    • Chaque 1 constitue la feuille extrème d'un arbre
    • tu additionnes chaque feuille avec l'une des autres, tu as un premier niveau avec des sommes de 2
    • tu recommences en prenant ce second niveau avec le précédent et lui-même, tu as les sommes des 1 et des 2
    • etc. => algo récursif


    Extrèmement coûteux en terme de calculs, mais dans le principe, ça doit à peu près faire ce que tu veux.
    Aucune réponse à une question technique par MP.
    Ce qui vous pose problème peut poser problème à un(e) autre

    http://thebrutace.labrute.fr

  3. #3
    Membre expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 886
    Points : 1 526
    Points
    1 526
    Par défaut
    Ca dépend: est-ce que l'ordre des termes a une importance ? Est-ce que "3 + 1" et "1 + 3" constituent deux réponses ou une seule ?

    L'algo de progfou va donner les deux réponses distinctes

  4. #4
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Ah ben oui, j'ai dit "naïf" .
    Mais à priori ça fonctionne.
    Aucune réponse à une question technique par MP.
    Ce qui vous pose problème peut poser problème à un(e) autre

    http://thebrutace.labrute.fr

  5. #5
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    On peut peut-être le faire en récursif quitte à péter la pile rapidement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    trouver toutes les sommes formant n c'est
    	trouver toutes les sommes formant n-1
    	ajouter 1 à toutes les combinaisons obtenues
    	faire le tri pour éliminer les doublons
    exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    trouver toutes les sommes formant 4
    	trouver toutes les sommes formant 3
    		trouver toutes les sommes formant 2
    			trouver toutes les sommes formant 1
    			renvoie ((1))
    		((1)) recu
    		on ajoute 1 de toutes les façons différentes 
    			(1+1) et (1,1) donc ((2), (1 ,1))
    		pas de doublon
    		renvoie ((2), (1,1))
    	((2),(1,1)) recu
    	on ajoute 1 de toutes les façons différentes
    		((3) ,(2,1), (1,2) ,(1,1,1), (1,1,1) (on ajoute 1 entre les 1 et 1 en fin de liste)
    	on vire le doublon
    	renvoie ((3),(2,1),(1,2),(1,1,1))
    ((3),(2,1),(1,2),(1,1,1)) reçu
    on ajoute 1 de toutes les façons différentes
    	(4) (3,1) (2,2), (2,1,1), (2,1,1), (2,2), (1,3),(1,1,2) (1,2,1) ,(2,1,1), (1,2,1), (1,1,2), (1,1,1,1), (1,1,1,1),(1,1,1,1),
    on vire les doublons
    ((4),(3,1),(2,2),(2,1,1),(1,3),(1,2,1),(1,1,2),(1,1,1,1))
    renvoie ((4),(3,1),(2,2),(2,1,1),(1,3),(1,2,1),(1,1,2),(1,1,1,1))
    Le nettoyage des doublons peut-être plus puissant si on décide que l'ordre n'a pas d'importance.
    J'ai laissé les nombres seuls, ça ne ma paraît pas illogique.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

Discussions similaires

  1. Tester la somme de toutes les combinaisons possibles
    Par unix27 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 07/11/2014, 14h39
  2. Calculer toutes les sommes possibles de N nombres
    Par djamila dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 09/03/2011, 10h00
  3. Toutes les sommes possibles d'un tableau de valeurs
    Par Draxx dans le forum Mathématiques
    Réponses: 19
    Dernier message: 27/11/2008, 13h56
  4. Générer tous les tirages possibles.
    Par Mandotnet dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 03/09/2005, 16h53
  5. [Debutant(e)]définir les valeurs possibles d'un param
    Par mouste79 dans le forum Langage
    Réponses: 7
    Dernier message: 18/11/2004, 10h48

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