Étant donné deux générateurs entiers aléatoires qui génèrent entre 1 et 7 et un autre qui génère entre 1 et 5, comment créer un générateur d'entiers aléatoires qui génère entre 1 et 13? J'ai essayé de résoudre cette question de diverses manières, mais je n'ai pas réussi à trouver une solution qui génère des nombres de 1 à 13 avec une probabilité égale ou presque égale.Combinaison de générateurs de nombres aléatoires
1
A
Répondre
1
En utilisant les deux premières réponses pour Expand a random range from 1–5 to 1–7, j'ai trouvé ce qui suit. Il y a probablement un moyen plus efficace de le faire (peut-être en utilisant le générateur 1-5?) Mais cela semble fonctionner.
optimisé pour Compacité
var j;
do {
j = 7 * (rand7() - 1) + rand7(); // uniformly random between 1 and 49
} while (j > 39);
// j is now uniformly random between 1 and 39 (an even multiple of 13)
j = j % 13 + 1;
optimisé pour compréhensibilité
var v = [
[1, 2, 3, 4, 5, 6, 7],
[8, 9, 10, 11, 12, 13, 1],
[2, 3, 4, 5, 6, 7, 8],
[9, 10, 11, 12, 13, 1, 2],
[3, 4, 5, 6, 7, 8, 9],
[10, 11, 12, 13, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0]
];
var j = 0;
while (j == 0) {
j = v[rand7() - 1][rand7() - 1];
}
+0
Belle solution, merci beaucoup. :) – Anand
Questions connexes
- 1. stimuler la bibliothèque de nombres aléatoires, utiliser le même générateur de nombres aléatoires pour les différents générateurs de variate
- 2. tableau de nombres aléatoires
- 3. génération de nombres aléatoires
- 4. Probabilité de nombres aléatoires
- 5. générateur de nombres aléatoires
- 6. algorithme de combinaison de nombres
- 7. Générateur de nombres aléatoires Crappy
- 8. c - générateur de nombres aléatoires
- 9. nombres aléatoires dans java
- 10. nombres entiers aléatoires ifstream?
- 11. affichant des nombres aléatoires
- 12. nombres aléatoires dans C#
- 13. Génération de nombres aléatoires sans utiliser d'opérations sur les bits
- 14. séquences d'échantillonnage de nombres aléatoires dans Haskell
- 15. problème en génération de nombres aléatoires
- 16. génération de nombres aléatoires dans un vecteur
- 17. Génération de nombres aléatoires sur Spartan-3E
- 18. générateur de nombres aléatoires singe test diehard
- 19. Liste de nombres aléatoires multiples Smarty
- 20. générateur de nombres aléatoires dev/random
- 21. Assemblage MIPS - plage de nombres entiers aléatoires
- 22. générateur de nombres aléatoires en php
- 23. comment un biais générateur de nombres aléatoires
- 24. MATLAB génère des nombres aléatoires
- 25. Générateur de nombres aléatoires en C# - valeurs uniques
- 26. générateurs de réutilisation
- 27. JavaME: génération de nombres aléatoires de 14 chiffres positifs
- 28. générateur de nombres aléatoires C de sans numéros répéter
- 29. Implémenter correctement le générateur de nombres aléatoires de C#
- 30. rails3 générateurs ne pas ajouter de générateurs
Essayez: http://stackoverflow.com/questions/1268025/using-one-probability-set-to -generate-another – Jander