1 Supposons qu'on dispose d'une fonction qui génère un nombre pseudo-aléatoire
2 dont la sortie $j$ est uniformément distribuée sur l'intervalle $[0,1[$.
4 pour disposer d'une sortie uniformément distribuée sur l'ensemble des entiers
7 Réponse: On commence par diviser $[0,1[$ en $m+1$ intervalles de même
9 $I_0= [0, \dfrac{1}{m+1}[$,
10 $I_1= [\dfrac{1}{m+1}, \dfrac{2}{m+1} [$, \ldots
11 $I_m = [\dfrac{m}{m+1}, 1[$.
12 Si la sortie $j$ appartient à $I_0$, on retourne 0,\ldots.
14 Ceci revient à d'abord multiplier $j$ par $m+1$ et à prendre ensuite sa partie entière, ce qui est fait dans le code Python suivant.
15 La fonction Python \verb+randint(a,b)+ génère un entier
16 entre $a$ et $b$, les deux nombres compris.
19 def genereAleaEntier(m):