Exclure certaines valeurs d'un générateur aléatoire
Fermé
santosV
-
27 janv. 2019 à 16:22
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 - 28 janv. 2019 à 00:17
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 - 28 janv. 2019 à 00:17
A voir également:
- Discord exclure
- Créer compte discord - Guide
- Discord mac - Télécharger - Téléphonie & Visio
- Discord coupe le son du jeu - Forum Audio
- Stream mis en pause discord - Forum Audio
- Un autre compte discord utilise deja ce numero - Forum Discord
3 réponses
luckydu43
Messages postés
3484
Date d'inscription
vendredi 9 janvier 2015
Statut
Membre
Dernière intervention
30 juin 2022
815
27 janv. 2019 à 17:46
27 janv. 2019 à 17:46
Bonjour
Une solution serait (attention, je code en Java) :
Une solution serait (attention, je code en Java) :
List<Integer> nombresAleatoires = new LinkedList<>(); List<Integer> nombresAEliminer = new LinkedList<>(); nombresAEliminer.add(3); nombresAEliminer.add(4); Integer nbMax = 50; while (nbMax > 0) { Integer valeurRandom = Math.rand(0,50); // Si la liste NE CONTIENT PAS la valeur (c'est le ! au début qui fait que non) if (!nombresAEliminer.contains(valeurRandom)) { nombresAleatoires.add(valeurRandom); nbMax = nbMax - 1; } }
_Ritchi_
Messages postés
21210
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
20 avril 2024
6 058
27 janv. 2019 à 18:05
27 janv. 2019 à 18:05
Bonjour,
Suggestion:
Tu crées une liste des valeurs non souhaitées.
Tu génères une valeur aléatoire et tu la cherches dans ta liste des valeurs non souhaitées.
Si tu la trouves, tu recommences ta génération de valeurs aléatoires
Ritchi
Suggestion:
Tu crées une liste des valeurs non souhaitées.
Tu génères une valeur aléatoire et tu la cherches dans ta liste des valeurs non souhaitées.
Si tu la trouves, tu recommences ta génération de valeurs aléatoires
Ritchi
Whismeril
Messages postés
19026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
20 avril 2024
931
28 janv. 2019 à 00:17
28 janv. 2019 à 00:17
Bonsoir, tu peux aussi raisonner à l'inverse.
Tu crées la liste des valeurs autorisée, selon ton exemple
0, 1, 2, 5, 6, 7, 8, 9, 10 -> 9 valeurs et soit
Tu crées la liste des valeurs autorisée, selon ton exemple
0, 1, 2, 5, 6, 7, 8, 9, 10 -> 9 valeurs et soit
- générer aléatoirement des index entre 0 et 8, prendre la valeur de la liste à cet index
- mélanger la liste et prendre les n premiers de la liste (cette méthode interdit les doublons, et autorise le tirage de la collection complète: distribution d'un jeu de carte par exemple)
27 janv. 2019 à 18:12
c'est une facon trés élegante de résoudre ce probléme
merci pour ta réponse