Algorithmie - générer des combinaisons
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Algorithmie - générer des combinaisons



  1. #1
    Riadio

    Algorithmie - générer des combinaisons


    ------

    Bonjour,

    J'ai un petit problème qui me casse la tête, j'arrive facilement à résoudre mon problème sur feuille, donc je me dis qu'il ne doit pas être compliqué à transposer en code, mais pourtant je n'y arrives pas

    Alors voila, pour l'exemple, j'ai 3 objets, pouvant chacun être dans 3 états différents, et je veux générer toutes les combinaisons possibles, du style :
    111 (objet 1 dans l'état 1, objet 2 dans l'état 1, objet 3 dans l'état 1)
    112 (objet 1 dans l'état 1, objet 2 dans l'état 1, objet 3 dans l'état 2)
    113
    121
    122
    123
    131
    132
    133
    211
    212
    etc... il y aura 27 combinaisons au total (nombres d'objets puissance nombres d'états)

    Coder de manière bourrine avec 3 boucles for imbriqués ne serait pas compliqué, mais je ne connais pas à l'avance le nombre d'objet traités, donc je recherche une manière plus élégante

    J'espère avoir été clair, merci d'avance !

    -----

  2. #2
    Riadio

    Re : Algorithmie - générer des combinaisons

    Oups je viens de me rendre compte que je ne suis pas spécialement sur le bon forum, j'aurais dû poster dans "Programmation et langages, Algorithmique"
    Si un modo peut déplacer mon topic, moi j'y arrives pas

  3. #3
    pm42

    Re : Algorithmie - générer des combinaisons

    Récursivement, c'est trivial. On fait un tableau/liste qui contient le nombre d'états de chaque objet et on appelle une fonction à laquelle on le passe en argument.
    S'il est vide, elle ne fait rien.
    Sinon, elle fait une boucle qui parcourt les états du 1er éléments et, pour chacun elle s'appelle en passant le tableau/liste moins son 1er élément.

    Si on veut faire la même chose de façon non récursive, ce n'est pas très compliqué non plus. Tu peux voir ton programme comme une façon d'énumérer tous les nombres d'une certaines longueur. Donc tu prends un tableau où chaque élément représente l'état d'un objet.
    Au départ, ils sont tous dans leur état de base. Tu fais +1 c'est à dire que tu augmentes d'un cran l'état du dernier.
    S'il a atteint son dernier état possible, tu le remets dans l'état de base et tu augmentes d'un cran l'état de celui d'avant et ainsi de suite.
    Donc tu as une boucle qui fait +1 jusqu'à ce que le 1er élément ait atteint son dernier état et qu'on doive faire +1 dessus et à chaque étape, tu as une boucle qui déplace la retenue si nécessaire en quelque sorte.

  4. #4
    CM63

    Re : Algorithmie - générer des combinaisons

    Sinon, ce n'est pas nombre d'objets puissance nombre d'états, mais le contraire : nombre d'états puissance nombre d'objets, là il se trouve que ça fait la même valeur puisqu'il y a 3 états et 3 objets, mais attention, prend des nombres différents, afin d'être sûr.

  5. A voir en vidéo sur Futura
  6. #5
    polo974

    Re : Algorithmie - générer des combinaisons

    bref, tu veux compter dans une certaine base (nb d'état) sur un certain nombre de chiffres (nb d'objets)...

    incrément du digit et report de retenue...
    Jusqu'ici tout va bien...

  7. #6
    Deedee81
    Modérateur

    Re : Algorithmie - générer des combinaisons

    "Il ne suffit pas d'être persécuté pour être Galilée, encore faut-il avoir raison." (Gould)

  8. #7
    pm42

    Re : Algorithmie - générer des combinaisons

    Cela génère des permutations. Tu es sûr que ça s’applique ici ?

  9. #8
    Deedee81
    Modérateur

    Re : Algorithmie - générer des combinaisons

    Citation Envoyé par pm42 Voir le message
    Cela génère des permutations. Tu es sûr que ça s’applique ici ?
    Non. Riadio excuse-moi. Ignore mon message ci-dessus. Je dois être sacrément fatigué.
    "Il ne suffit pas d'être persécuté pour être Galilée, encore faut-il avoir raison." (Gould)

  10. #9
    Jack
    Modérateur

    Re : Algorithmie - générer des combinaisons

    Citation Envoyé par Riadio Voir le message
    Oups je viens de me rendre compte que je ne suis pas spécialement sur le bon forum, j'aurais dû poster dans "Programmation et langages, Algorithmique"
    Si un modo peut déplacer mon topic, moi j'y arrives pas
    C'est fait

  11. #10
    Riadio

    Re : Algorithmie - générer des combinaisons

    Merci pour vos réponses particulièrement pm42 !

Discussions similaires

  1. Algorithmie exercice correction
    Par Maximia89 dans le forum Programmation et langages, Algorithmique
    Réponses: 6
    Dernier message: 22/09/2018, 13h33
  2. Problème d'algorithmie temps C++
    Par sandrecarpe dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 02/01/2016, 21h20
  3. codage et algorithmie
    Par nitnelav97 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 26/11/2014, 23h50
  4. Math spe Terminal S : algorithmie
    Par Maxmaxo dans le forum Mathématiques du collège et du lycée
    Réponses: 2
    Dernier message: 25/12/2013, 15h54
  5. Exercice d'algorithmie
    Par jibo30 dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 16/09/2013, 17h31