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

Probabilités Discussion :

Génération de n nombres aléatoires différents


Sujet :

Probabilités

  1. #1
    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 Génération de n nombres aléatoires différents
    Bonjour,
    Je cherche un algorithme permettant de générer très rapidement n nombres aléatoires TOUS différents.
    Le problème, c'est que je le fais avec des boucles, et que ça boucle sans s'arrêter...
    Il doit sûrement exister une méthode simplissime, mais je n'y arrive pas...

    Merci d'avance de votre aide (je sais qu'il y a des matheux ici )
    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

  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 369
    Points : 40 164
    Points
    40 164
    Par défaut
    bien le bonjour,

    si tu fixes une contrainte sur les nombres, ils ne sont plus entièrement aléatoire.

    bon, sinon, une méthode est , pour chaque nombre à tirer, de tirer un nombre tant que celui-ci est présent dans la liste des nombres déjà tirés.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    creation d'une liste vide
    une boucle pour tirer les n nombres
         une boucle tant que le i ème nombre est dans la liste des nombres déjà tirés
         fin boucle
         ajout du ième nombre dans la liste
    fin boucle

  3. #3
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    La procédure ci dessus est trés bien si n est petit.

    si n est grand:
    s'il est peu probable que deux nombres soient identiques(si ton ensemble est trés grand (>100 000)) alors,la methode suivante me parait apropriée:
    génere n nombres et mets les dans une liste.
    utilise la procédure de tri sur le tas.
    rajoute dedans que si deux nombres sont égaux, tu suprimme l'un des deux (renvoie une liste d'un élement ou avec un element vide) et tu incrémente de un une variable(que j'apelle X). ensuite,tu génere X nombres aléatoires , tu met ta variable à 0 et tu recommence jusqu'a que ta variables soit éguale à 0 en fin de tri.

    si au contraire, tes nombres sont limités:
    tu crée une liste de tous les nombres possibles.
    tu fait un random sur le maximum d'élément de ta liste.
    tu retire un élément de ta liste.
    turetire un au maximum.
    tu recommence jusq'à ce que tu ai n nombres (que tu aura ajoté dans une autre liste où que tu trouvea avec une comparaison d'éléménts manquants avec une simple boucle).

    salut & bonne chance
    Méphistophélès
    Si la solution ne résout pas votre problème, changez le problème...
    Cours et tutoriels C++ - FAQ C++ - Forum C++.

  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
    OK, c'est bon, problème d'mplémentation, j'ai résolu mon pb.
    Merci encore de vos réponses !
    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

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

Discussions similaires

  1. Génération automatique de nombre aléatoires
    Par edouardmartin dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/03/2010, 11h37
  2. Avoir 10 nombres aléatoires différents
    Par alex2746 dans le forum Débuter
    Réponses: 14
    Dernier message: 03/01/2010, 23h43
  3. Génération de nombres aléatoires différents
    Par The Wretched dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 19/08/2009, 18h16
  4. Nombres aléatoires différents
    Par fikou dans le forum VB.NET
    Réponses: 7
    Dernier message: 07/08/2007, 08h02
  5. Tirer 3 nombres aléatoires différents
    Par uado dans le forum ASP
    Réponses: 3
    Dernier message: 23/05/2006, 10h30

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