
\begin{enumerate}
\item Il s'agit ici de trouver le nombre de combinaisons de 5 éléments parmi 49 que l'on peut obtenir, donc de calculer $\dbinom{49}{5}$; on trouve \numprint{1906884}.

\item La liste \texttt{resultats\_finaux} est le résultat du produit cartésien de la liste\linebreak \texttt{list( combinations( grille , 5 ) )} et de la liste \texttt{grille\_restante}, qui compte $49-5=44$ éléments. Son cardinal est donc le produit de \numprint{1906884} par 44.

\underline{Il y a donc \numprint{83902896} éléments dans la liste \texttt{resultats\_finaux}.}

\item Chacun des éléments de \texttt{resultats\_finaux} est un tuple de 6 nombres. Il faut donc stocker en mémoire $\numprint{83902896}\times6=\numprint{503417376}$ nombres.

Chaque nombre est représenté sur 1 octet (8 bits). Ainsi, il nous faut disposer de $\numprint{503417376}\times8=\numprint{4027339008}$ bits, ce qui correspond à un peu moins de 4 Go.

En théorie, il n'y aurait donc pas de problème de mémoire sur un ordinateur personnel classique, doté en général de 8 Go de mémoire.

Mais le système d'exploitation ainsi que les logiciels tiers (comme par exemple Python) occupent de l'espace mémoire, rendant l'espace disponible moindre, comme le montre cette capture d'écran montrant la mémoire de mon ordinateur :

\begin{center}
\includegraphics[scale=0.45]{ram.jpg}
\end{center}

Il n'est donc pas anormal que le programme de monsieur Laguigne ne fonctionne pas.
\end{enumerate}
