Nombre aléatoire sans répétition
Fermé
Issouff
Messages postés
7
Date d'inscription
samedi 11 juin 2016
Statut
Membre
Dernière intervention
31 janvier 2017
-
31 janv. 2017 à 23:39
luckydu43 Messages postés 3470 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 30 juin 2022 - 31 janv. 2017 à 23:52
luckydu43 Messages postés 3470 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 30 juin 2022 - 31 janv. 2017 à 23:52
A voir également:
- Nombre aléatoire sans répétition
- Nombre aléatoire excel sans doublon ✓ - Forum Excel
- Supprimer espace nombre excel ✓ - Forum Excel
- Tirage au sort excel aléatoire sans doublon ✓ - Forum Excel
- Vba convertir texte en nombre ✓ - Forum VB / VBA
- Le fichier contient le nombre de voyageurs dans 3 gares. dans la cellule b5, saisissez une formule qui calcule le total et se met à jour si on change une valeur du tableau. quel total obtenez-vous ? quelle formule avez-vous saisie ? ✓ - Forum Excel
1 réponse
luckydu43
Messages postés
3470
Date d'inscription
vendredi 9 janvier 2015
Statut
Membre
Dernière intervention
30 juin 2022
832
Modifié par luckydu43 le 31/01/2017 à 23:53
Modifié par luckydu43 le 31/01/2017 à 23:53
Bonsoir !
Déjà, vu que je code en Java, je ne parlerai pas de la syntaxe du code mais de l'analyse. Eh ouais --'
Bref ^_^
Je vois 2 manières pour ce faire :
Manière 1 : Stocker dans un conteneur quelconque (tableau, liste, enum, map, set...) une liste de nombres.
Utiliser la méthode random pour réarranger les termes de manière aléatoire. Le fait de replacer plusieurs fois le même terme ne pose alors pas de problème. Le tout sera de faire en sorte de le nombre de répétitions soit suffisamment grand pour être sûr à 95% que les termes ont tous changé de place. Ou non. Et ça donne une liste de nombres aléatoires différents mais l'ensemble des éléments générés sera forcément égal à l'ensemble de génération des nombres (tu veux des nombres de 3 à 42, tu auras TOUS les nombres de 3 à 42. Ni plus, ni moins).
Manière 2 : Stocker dans un conteneur quelconque chaque nombre généré, et si le nombre généré est déjà présent dans le conteneur... ne pas le rajouter. Cette méthode fonctionne bien pour le cas de la génération d'un nombre n de nombres situés dans un intervalle sans forcément demander à ce que n corresponde exactement au cardinal de i. Mais sans optimisation, cette manière est gourmande.
Si ça suffit, c'est top ;-)
Bon code
Luc
Les 3 plus grands mensonges du dev ? La doc sera faite plus tard... Le programme n'a aucun bug... Les spécifs sont finies...
Un peuple sacrifiant sa liberté pour plus de sécurité perd les deux.
Déjà, vu que je code en Java, je ne parlerai pas de la syntaxe du code mais de l'analyse. Eh ouais --'
Bref ^_^
Je vois 2 manières pour ce faire :
Manière 1 : Stocker dans un conteneur quelconque (tableau, liste, enum, map, set...) une liste de nombres.
Utiliser la méthode random pour réarranger les termes de manière aléatoire. Le fait de replacer plusieurs fois le même terme ne pose alors pas de problème. Le tout sera de faire en sorte de le nombre de répétitions soit suffisamment grand pour être sûr à 95% que les termes ont tous changé de place. Ou non. Et ça donne une liste de nombres aléatoires différents mais l'ensemble des éléments générés sera forcément égal à l'ensemble de génération des nombres (tu veux des nombres de 3 à 42, tu auras TOUS les nombres de 3 à 42. Ni plus, ni moins).
Manière 2 : Stocker dans un conteneur quelconque chaque nombre généré, et si le nombre généré est déjà présent dans le conteneur... ne pas le rajouter. Cette méthode fonctionne bien pour le cas de la génération d'un nombre n de nombres situés dans un intervalle sans forcément demander à ce que n corresponde exactement au cardinal de i. Mais sans optimisation, cette manière est gourmande.
Si ça suffit, c'est top ;-)
Bon code
Luc
Les 3 plus grands mensonges du dev ? La doc sera faite plus tard... Le programme n'a aucun bug... Les spécifs sont finies...
Un peuple sacrifiant sa liberté pour plus de sécurité perd les deux.