Entrez le minimum et le maximum, puis appuyez sur « Calculer » pour générer des nombres aléatoires dans cet intervalle. Vous pouvez aussi choisir la quantité, le nombre de décimales et autoriser ou non les doublons (tout sauf le minimum et le maximum peut rester vide : on obtient alors 1 entier, doublons permis).
Table des matières
-
Ce que vous pouvez faire sur cette page
-
À quoi sert ce calcul ?
-
Mode d'emploi
-
Formule
-
Probabilité de chaque valeur pour un entier aléatoire (loi uniforme discrète)
-
Répartition des décimaux aléatoires (densité de la loi uniforme continue)
-
Moyenne des nombres aléatoires (espérance d’une loi uniforme)
-
Passer d’un nombre aléatoire entre 0 et 1 à un entier aléatoire dans un intervalle
-
Une façon classique de produire des nombres pseudo-aléatoires (générateur congruentiel linéaire)
-
-
Symboles et termes
-
Ce qu’il est utile de savoir avant de commencer
-
Calculer avec Excel
-
Calculer avec Google Sheets
-
Calculer avec Python
-
Écrire la formule en LaTeX et autres langages mathématiques (à copier-coller)
-
Faire faire le calcul par ChatGPT
-
Les atouts de DataChef
-
Fonctions connexes
-
Liste des calculatrices NumberChef
Ce que vous pouvez faire sur cette page
- Entrez simplement un minimum et un maximum pour obtenir tout de suite des nombres aléatoires (des nombres tirés au hasard) dans cet intervalle
- Vous pouvez obtenir des nombres décimaux aléatoires aussi bien que des entiers. Choisissez de 0 à 50 chiffres après la virgule
- Générez jusqu’à 999 nombres d’un coup, avec ou sans doublons. À partir de 2 nombres, le résultat les montre aussi triés par ordre croissant et décroissant, en plus de l’ordre du tirage
- Fonctionne aussi bien pour un petit intervalle comme 1 à 6 que pour d’immenses entiers de plus de 20 chiffres
- Une explication simple du fonctionnement des nombres aléatoires et des formules à copier-coller pour Excel, Google Sheets et Python sont réunies sur cette page
À quoi sert ce calcul ?
Donnez un numéro à chaque participant ou élève et choisissez avec des nombres aléatoires : le choix est équitable, sans intervention de personne. Chacun a la même chance d’être choisi (loi uniforme). C’est un tirage au sort dont l’équité est garantie par les mathématiques ; en France, les jurés de cour d’assises sont d’ailleurs tirés au sort sur les listes électorales.
Les 5 numéros du Loto de la FDJ, « 5 numéros de 1 à 49 sans répétition », fonctionnent exactement ainsi : il y a 1 906 884 combinaisons possibles.
Comment une enquête auprès de quelques milliers de personnes peut-elle renseigner sur tout le pays, sans interroger tous les Français ? Grâce à l’échantillonnage aléatoire, qui choisit les personnes interrogées avec des nombres aléatoires. Choisir « à la main » fausserait les résultats : c’est le tirage au hasard qui rend l’enquête fiable.
Les grandes enquêtes de la statistique publique, comme celles de l’INSEE, tirent ainsi au sort les logements à interroger. Les instituts de sondage privés utilisent plutôt la méthode des quotas, qui reproduit la structure de la population sans tirage au sort.
Même un problème trop complexe pour être résolu par une formule peut recevoir une réponse approchée : on réalise des dizaines de milliers d’essais au hasard et on compile les résultats. C’est la méthode de Monte-Carlo. On l’utilise partout, du calcul des risques dans les banques aux prévisions météo d’ensemble (de nombreuses prévisions lancées avec des conditions de départ légèrement différentes), jusqu’à la recherche en physique et en médecine.
Son fondement théorique est la propriété vue sur cette page : la moyenne des nombres aléatoires se rapproche de l’espérance.
Tout le hasard des jeux vidéo, des lancers de dés et du mélange des cartes jusqu’aux butins et aux cartes générées automatiquement, est produit avec des nombres pseudo-aléatoires.
Le fait qu’une même graine redonne la même suite est même mis à profit : fonctions de replay, ou partage de la graine d’un monde avec des amis pour que tout le monde joue sur la même carte.
Les connexions chiffrées des achats en ligne et les codes à usage unique ne fonctionnent que grâce aux nombres aléatoires, des nombres qu’un attaquant ne peut pas prévoir.
Des nombres pseudo-aléatoires ordinaires pourraient être prédits : on ne peut pas les utiliser ici. On se sert à la place de générateurs de qualité cryptographique et de générateurs de nombres aléatoires matériels, qui exploitent des phénomènes physiques comme le bruit thermique. C’est l’usage le plus exigeant des nombres aléatoires : leur qualité décide de la sécurité de tous.
Formule
Symboles et termes
Symboles
| \(a\) | a | Le minimum de l’intervalle (inclus). (Exemple : pour des nombres aléatoires de 1 à 100, \(a = 1\)) |
| \(b\) | b | Le maximum de l’intervalle (inclus). (Exemple : pour des nombres aléatoires de 1 à 100, \(b = 100\)) |
| \(P(X=k)\) | P de X égale k | La probabilité que le nombre aléatoire \(X\) soit exactement l’entier \(k\). Pour des entiers aléatoires suivant une loi uniforme, elle est la même pour tous les \(k\). |
| \(f(x)\) | f de x (densité de probabilité) | La hauteur du graphique qui montre la répartition des décimaux aléatoires (la densité de probabilité). Pour une loi uniforme, la hauteur est la même partout dans l’intervalle. |
| \(E[X]\) | E de X (espérance) | La valeur dont la moyenne se rapproche quand on génère beaucoup de nombres aléatoires \(X\). E comme « espérance ». Les manuels français écrivent aussi \(E(X)\). |
| \(u\) | u | Un nombre aléatoire uniforme de 0 (inclus) à 1 (exclu). La plupart des nombres aléatoires d’un ordinateur sont d’abord produits sous cette forme, puis ramenés dans l’intervalle voulu. |
| \(\lfloor\ \rfloor\) | partie entière | Un symbole qui supprime la partie décimale du nombre à l’intérieur pour l’arrondir à l’entier inférieur. (Exemple : \(\lfloor 3{,}2 \rfloor = 3\)) |
| \(X_n\) | X indice n | La \(n\)-ième valeur d’une suite de nombres pseudo-aléatoires. La valeur de départ \(X_0\) est la graine. |
| \(\bmod\) | modulo | L’opération qui donne le reste d’une division. (Exemple : \(38 \bmod 16 = 6\), car 38 divisé par 16 donne 2, reste 6) |
Termes
| nombre aléatoire | Un nombre sans régularité qui permettrait de prévoir le suivant, comme le résultat d’un dé. Le générateur de cette page produit des nombres tirés au hasard dans l’intervalle que vous choisissez. |
| loi uniforme | Une loi de probabilité où chaque valeur de l’intervalle a autant de chances de sortir. Pour des entiers aléatoires, chaque entier a la même probabilité ; pour des décimaux aléatoires, le graphique a la même hauteur partout. |
| nombre pseudo-aléatoire | Un nombre d’une suite calculée par une formule, qui a l’air aléatoire. La formule s’appelle un générateur pseudo-aléatoire (PRNG en anglais). Presque tous les nombres aléatoires d’un ordinateur sont pseudo-aléatoires. |
| graine | La valeur de départ du calcul des nombres pseudo-aléatoires (en anglais « seed »). Partir de la même graine redonne toujours exactement la même suite. D’habitude, la graine est fixée automatiquement, par exemple à partir de l’heure, si bien que chaque suite paraît différente. |
| générateur congruentiel linéaire | La façon la plus classique de produire des nombres pseudo-aléatoires, en répétant « multiplier, ajouter, garder le reste ». Idéale pour comprendre le principe, elle est aujourd’hui remplacée en pratique par des méthodes de meilleure qualité comme le Mersenne Twister. |
| générateur de nombres aléatoires matériel | Un dispositif qui produit des nombres aléatoires à partir de phénomènes physiques, comme des dés, des pièces, le bruit électrique de l’atmosphère ou le bruit thermique des circuits électroniques. Aucune formule n’intervient : les nombres ne peuvent pas être reproduits et se rapprochent d’un vrai hasard. |
| espérance | La moyenne d’un résultat aléatoire sur un grand nombre de répétitions. Pour des nombres aléatoires uniformes, l’espérance est exactement le milieu de l’intervalle. |
| échantillonnage aléatoire | Le fait de choisir les personnes ou les objets à étudier par tirage au sort, par exemple avec des nombres aléatoires, sans intervention humaine dans le choix. C’est la méthode de base pour éviter les biais dans les enquêtes statistiques. |
Ce qu’il est utile de savoir avant de commencer
Voici ce qui vous aide à utiliser le calcul de cette page en le comprenant vraiment, et pas seulement en appuyant sur le bouton.
| Division euclidienne, avec reste (CE2-CM1, 8-10 ans) |
|
| Nombres décimaux et troncature (CM1-CM2, 9-11 ans) |
|
| Proportions et pourcentages (CM2-6e, 10-12 ans) |
|
| Bases des probabilités (5e-3e, 12-15 ans) |
|
| L’espérance (1re, 16-17 ans) |
|
Calculer avec Excel
| Minimum a | 1 |
| Maximum b | 6 |
| Probabilité de chaque entier | =1/(B2-B1+1) |
| Minimum a | 0 |
| Maximum b | 10 |
| Densité de probabilité (hauteur) | =1/(B2-B1) |
| Minimum a | 1 |
| Maximum b | 100 |
| Moyenne (espérance) | =(B1+B2)/2 |
| Minimum a | 1 |
| Maximum b | 100 |
| Entier aléatoire (change à chaque recalcul) | =B1+ENT(ALEA()*(B2-B1+1)) |
| Nombre aléatoire actuel Xn | 7 |
| Multiplicateur a | 5 |
| Incrément c | 3 |
| Diviseur m | 16 |
| Nombre aléatoire suivant | =MOD(B2*B1+B3;B4) |
Le premier tableau affiche environ 0,1667 (= 1/6), le troisième 50,5 et le cinquième 6.
ALEA() dans le quatrième tableau produit un nombre aléatoire de 0 (inclus) à 1 (exclu), exactement sous la forme de la formule de conversion de la partie Formule. Appuyez sur F9 pour obtenir un nouveau nombre aléatoire à chaque fois.
Excel propose aussi une fonction dédiée qui donne directement un entier aléatoire entre deux bornes.
Calculer avec Google Sheets
| Minimum a | 1 |
| Maximum b | 6 |
| Probabilité de chaque entier | =1/(B2-B1+1) |
| Minimum a | 0 |
| Maximum b | 10 |
| Densité de probabilité (hauteur) | =1/(B2-B1) |
| Minimum a | 1 |
| Maximum b | 100 |
| Moyenne (espérance) | =(B1+B2)/2 |
| Minimum a | 1 |
| Maximum b | 100 |
| Entier aléatoire (change à chaque recalcul) | =B1+ENT(ALEA()*(B2-B1+1)) |
| Nombre aléatoire actuel Xn | 7 |
| Multiplicateur a | 5 |
| Incrément c | 3 |
| Diviseur m | 16 |
| Nombre aléatoire suivant | =MOD(B2*B1+B3;B4) |
Copiez tout le tableau, collez-le dans la cellule A1 et remplacez les valeurs par les vôtres.
Calculer avec Python
import random
lower = 1 # minimum
upper = 100 # maximum
count = 5 # quantité à générer
# entiers aléatoires (doublons permis)
integers = [random.randint(lower, upper) for _ in range(count)]
# entiers aléatoires (sans doublon)
unique_integers = random.sample(range(lower, upper + 1), count)
# décimaux aléatoires
decimals = [random.uniform(lower, upper) for _ in range(count)]
print(f"Entiers aléatoires (doublons permis) : {integers}")
print(f"Entiers aléatoires (sans doublon) : {unique_integers}")
print(f"Décimaux aléatoires : {decimals}")
# avec une graine fixée, la même suite revient à chaque exécution (propriété des nombres pseudo-aléatoires)
random.seed(42)
print(f"Nombres aléatoires avec la graine 42 : {[random.randint(1, 100) for _ in range(3)]}")
Écrire la formule en LaTeX et autres langages mathématiques (à copier-coller)
P(X = k) = 1 / (b − a + 1)
P(X = k) = \frac{1}{b - a + 1}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>P</mi><mo>(</mo><mi>X</mi><mo>=</mo><mi>k</mi><mo>)</mo>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mrow><mi>b</mi><mo>−</mo><mi>a</mi><mo>+</mo><mn>1</mn></mrow>
</mfrac>
</mrow>
</math>
P(X = k) = 1/(b - a + 1)
1/(b - a + 1)
p := 1/(b - a + 1);
p = 1/(b - a + 1);
P(X = k) = 1/(b - a + 1)
f(x) = 1 / (b − a)
f(x) = \frac{1}{b - a}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>f</mi><mo>(</mo><mi>x</mi><mo>)</mo>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mrow><mi>b</mi><mo>−</mo><mi>a</mi></mrow>
</mfrac>
</mrow>
</math>
f(x) = 1/(b - a)
1/(b - a)
f := 1/(b - a);
f = 1/(b - a);
f(x) = 1/(b - a)
E[X] = (a + b) / 2
E[X] = \frac{a + b}{2}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>E</mi><mo>[</mo><mi>X</mi><mo>]</mo>
<mo>=</mo>
<mfrac>
<mrow><mi>a</mi><mo>+</mo><mi>b</mi></mrow>
<mn>2</mn>
</mfrac>
</mrow>
</math>
E[X] = (a + b)/2
(a + b)/2
mean := (a + b)/2;
mean_x = (a + b)/2;
E[X] = (a + b)/2
n = a + ⌊u × (b − a + 1)⌋
n = a + \lfloor u \times (b - a + 1) \rfloor
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>n</mi>
<mo>=</mo>
<mi>a</mi>
<mo>+</mo>
<mo>⌊</mo>
<mi>u</mi>
<mo>×</mo>
<mo>(</mo><mi>b</mi><mo>−</mo><mi>a</mi><mo>+</mo><mn>1</mn><mo>)</mo>
<mo>⌋</mo>
</mrow>
</math>
n = a + |__ u xx (b - a + 1) __|
a + Floor[u*(b - a + 1)]
n := a + floor(u*(b - a + 1));
n = a + floor(u*(b - a + 1));
n = a + ⌊u × (b - a + 1)⌋
Xₙ₊₁ = (a·Xₙ + c) mod m
X_{n+1} = (a X_n + c) \bmod m
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>X</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub>
<mo>=</mo>
<mo>(</mo>
<mi>a</mi><msub><mi>X</mi><mi>n</mi></msub>
<mo>+</mo><mi>c</mi>
<mo>)</mo>
<mo>mod</mo>
<mi>m</mi>
</mrow>
</math>
X_(n+1) = (a X_n + c) mod m
Mod[a*x + c, m]
X[n + 1] := (a*X[n] + c) mod m;
x_next = mod(a*x + c, m);
X_(n+1) = (a X_n + c) mod m
Faire faire le calcul par ChatGPT
Tu es un assistant pour générer des nombres aléatoires. Fais ce qui suit en exécutant réellement du code Python, et appuie ta réponse uniquement sur les nombres obtenus à l’exécution (on ne peut pas produire de nombres aléatoires sans exécuter de code : n’invente et ne devine aucun nombre). 1. Génère 5 entiers aléatoires de 1 à 100, sans doublon. 2. Trie ces 5 nombres par ordre croissant. 3. Génère 1 nombre décimal aléatoire de 0,2 à 112,5 avec 3 chiffres après la virgule. Indique le code utilisé et les nombres obtenus à l’exécution.
Mode d'emploi
-
1Saisissez vos nombresTapez les nombres à calculer dans les champs de saisie
-
2CalculezAppuyez sur le bouton « Calculer »
-
3Lisez le résultatLe résultat s’affiche aussitôt. La même page explique aussi le raisonnement et la formule
Les atouts de DataChef
Aucune compétence requise – simple et intuitif
Aucune donnée personnelle nécessaire
Le fichier est supprimé automatiquement après le téléchargement
Aucune mention de crédit nécessaire
Aucune autorisation préalable nécessaire