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 :

Formule pour obtenir des nombres parmi 0, 1 et 2 ?


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Formule pour obtenir des nombres parmi 0, 1 et 2 ?
    Bonjour !
    J'ai une question toute simple, voici le contexte:

    Soit les nombres 0, 1 et 2 contenus dans x, y et z.
    En connaissant x et y on a z = 3-(x+y) - ex. 3-(2+0) = 1

    Existe-t-il une formule de ce type pour obtenir y et z en ne connaissant que x ?

    J'ai trouvé une solution à mon problème mais elle n'est pas très élégante...
    Code C : 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
     
        int i, j, tmp;
        int t[3] = {0, 1, 2};
     
        i=0;
        while(i < 3) {
            j=0;
            while(j < 2) {
                fonction(t[2], t[j]);
                j++;
            }
            tmp = t[i];
            t[i] = t[2];
            t[2] = tmp;
            i++;
        }

    Et ce que j'aimerais avoir:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        int x, y, z;
     
        x=0;
        while(x < 3) {
            y = [formule];
            z = [formule];
            fonction(x, y);
            fonction(x, z);
            x++;
        }

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 057
    Points : 9 397
    Points
    9 397
    Par défaut
    Bonsoir,
    Voici une solution :

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    y = min (2,3-x)
    z = 3 - (x+y)

    Mais on peut aussi permuter y et z :
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    z = min (2,3-x)
    y = 3 - (x+z)
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    y = min (2,3-x)
    z = 3 - (x+y)

    C'est exactement ce dont j'avais besoin. Merci beaucoup !

  4. #4
    Membre averti
    Homme Profil pro
    Consultant PLM
    Inscrit en
    Août 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Consultant PLM

    Informations forums :
    Inscription : Août 2007
    Messages : 203
    Points : 304
    Points
    304
    Par défaut
    Attention, il s'agit d'UNE solution, pas de LA solution.

    Quand il y a trois variables (x, y, z) et trois valeurs (0, 1, 2), les seules possibilités sont :
    (x, y, z) = (0, 1, 2)
    (x, y, z) = (0, 2, 1)
    (x, y, z) = (1, 0, 2)
    (x, y, z) = (1, 2, 0)
    (x, y, z) = (2, 0, 1)
    (x, y, z) = (2, 1, 0)

    Tu peux donc construire la liste de toutes les possibilités (de manière constante => ça ne change jamais) et filtrer en fonction d'une valeur particulière.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formule pour déduire des nombres pair dans une boucle
    Par Lekno dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/10/2010, 11h31
  2. Créer fonctions pour saisir des nombres
    Par odsen.s dans le forum C
    Réponses: 34
    Dernier message: 30/04/2007, 19h34
  3. Réponses: 21
    Dernier message: 01/08/2006, 20h44
  4. Algo pour générer des nombres aléatoires
    Par Admin dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 12/06/2006, 09h06
  5. Creation d'un composant pour saisir des nombres
    Par Sylmandel dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 05/06/2006, 10h09

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