Supposons qu'on dispose d'une fonction qui génère un nombre pseudo-aléatoire
dont la sortie $j$ est uniformément distribuée sur l'intervalle $[0,1[$. 
Comment peut-on faire 
pour disposer d'une sortie uniformément distribuée sur l'ensemble des entiers 
$\{0,\dots, m\}$.

Réponse: On commence par diviser $[0,1[$ en $m+1$ intervalles de même 
longueurs: 
$I_0= [0, \dfrac{1}{m+1}[$, 
$I_1= [\dfrac{1}{m+1}, \dfrac{2}{m+1} [$, \ldots 
$I_m = [\dfrac{m}{m+1}, 1[$. 
Si la sortie $j$ appartient à $I_0$, on retourne 0,\ldots. 

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.
La fonction Python \verb+randint(a,b)+ génère un entier 
entre $a$ et $b$, les deux nombres compris.  

\begin{lstlisting}
def genereAleaEntier(m):
  j= random()
  return int(j*(m+1))
\end{lstlisting}