\clearpage
\section{Les nombres premiers}\label{nombrepremier}\index[cle]{Decomposition@\lstinline+\Decomposition+}
Un nombre entier étant donné, la commande \lstinline!\Decomposition! permet de le
décomposer en produit de facteurs premiers. On peut lui associer un
arbre de décomposition.
%\footnote{Pour ces arbres, le nombre entier est limité à \num{4096}, limite de \MP{}\dots}

Elle a la forme suivante :
\begin{lstlisting}[escapechar=!,belowskip=0pt]
  \Decomposition[!\sffamily\textlangle clés\textrangle!]{a}
\end{lstlisting}
où
\begin{itemize}
\item\textlangle\lstinline!clés!\textrangle{} constituent un ensemble
  d'options, dont une est obligatoire, pour paramétrer la commande;
\item\lstinline!a! est le nombre entier considéré (paramètre
  obligatoire).
\end{itemize}
\begin{Code}
\Decomposition{1000}
\end{Code}
\begin{tcolorbox}[tikzcle]
  \index[cle]{Decomposition@\lstinline+\Decomposition+!Tableau|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!TableauVide|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!TableauVertical|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!TableauVerticalVide|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!TableauVerticalVide!Dot|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!Potence|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!Exposant|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!Longue|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!All|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!Nombre|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!AllNombre|mygobble}
\begin{Key}{Tableau}{false}
  écrit la décomposition du nombre entier choisi sous la forme d'une
  suite centrée d'égalités.
\end{Key}
\begin{Key}{TableauVide}{false}
  permet de faire compléter par les élèves eux-mêmes
\end{Key}
\begin{Key}{TableauVertical}{false}
  écrit la décomposition sous la forme d'un tableau présentant
  la décomposition sur le côté droit du tableau.
\end{Key}
\begin{Key}{TableauVerticalVide}{false}
  permet de faire compléter par les élèves eux-mêmes.
  \begin{SousDescription}
  \item[La clé \Cle{Dot}]\DefautR{\lstinline!\\dotfill!}
    modifie le remplissage des cellules vides du tableau permettant
    ainsi de ne pas induire {\em directement} le nombre de
facteurs premiers.
  \end{SousDescription}
\end{Key}
\begin{KeyD}{Potence}{false}
  écrit la décomposition sous la forme d'une suite de \og divisions\fg.
\end{KeyD}
\begin{Key}{Exposant}{false}
  écrit {\em uniquement} la décomposition du nombre entier considéré
  en utilisant {\em éventuellement} les puissances.
\end{Key}
\begin{Key}{Longue}{false}
  écrit {\em uniquement} la décomposition du nombre entier considéré
  sans utiliser les puissances.
\end{Key}
\begin{Key}{All}{false}
  regroupe le résultat des deux clés \Cle{Tableau} et \Cle{Exposant}.
\end{Key}
\begin{Key}{Nombre}{false}
  impose un facteur pour la décomposition du nombre entier choisi.
\end{Key}
\begin{tcolorbox}[tikzRemarque]
  La clé \Cle{Nombre} n'est pas disponible avec les clés \Cle{TableauVertical} et \CleD{Potence}.
\end{tcolorbox}
\begin{Key}{AllNombre}{false}
  regroupe le résultat des deux clés \Cle{Nombre} et \Cle{Exposant}.
\end{Key}
\end{tcolorbox}
\begin{Codes}[]{}{}
\Decomposition[Tableau]{150}
\end{Codes}
\begin{multicols}{2}
\begin{Exemple}[]{}
\Decomposition[TableauVide]{150}

\Decomposition[TableauVertical]{150}
\end{Exemple}
\begin{Exemple}[]{}
\Decomposition[TableauVerticalVide]{150}

\Decomposition[TableauVerticalVide,Dot={}]{150}
\end{Exemple}
\end{multicols}
\begin{Codes}[listing side text]{0.5}{}
\Decomposition[Potence]{150}
\end{Codes}
\begin{Exemple}[]{}
\Decomposition[Exposant]{150}

\Decomposition[Longue]{150}

\Decomposition[All]{150}
\end{Exemple}
\begin{multicols}{3}
  \begin{Codes}[]{0.4}{\footnotesize}
\Decomposition[Nombre=8]{120}
\end{Codes}
  \begin{Codes}[]{0.4}{\footnotesize}
\Decomposition[Nombre=4]{120}
\end{Codes}
  \begin{Codes}[]{0.4}{\footnotesize}
\Decomposition[Nombre=12]{120}
  \end{Codes}
\end{multicols}
%\clearpage
\begin{Exemple}[]{}
\Decomposition[AllNombre=24]{240}
\end{Exemple}
La recherche des diviseurs étant liée directement à la
décomposition d'un nombre entier, la liste des diviseurs du nombre
entier choisi peut s'obtenir avec les deux clés qui suivent.
\begin{tcolorbox}[tikzcle]
  \index[cle]{Decomposition@\lstinline+\Decomposition+!Diviseurs|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!DiviseursT|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!Poisson|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!Poisson!Echelle|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!Poisson!AngleArete|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!Poisson!CouleurPoisson|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!Poisson!ElementsVisibles|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!Poisson!CouleurSolution|mygobble}
\begin{Key}{Diviseurs}{false}
  donne la liste des diviseurs du nombre considéré.
\end{Key}
\begin{Key}{DiviseursT}{false}
  donne la liste des diviseurs du nombre considéré sous la forme d'un tableau.
\end{Key}
\begin{Key}{Poisson}{false}\PfCMAJ{0.99-A-h}
  affiche\footnotemark, lorsqu'elle est positionnée à \lstinline!true!, la liste des diviseurs d'un nombre entier sous la forme d'un \og poisson\fg{}.
  \begin{SousDescription}
    \item[La clé \Cle{Echelle}]\Defaut{\Lg{1}} modifie l'écart entre les arêtes successives.
    \item[La clé \Cle{AngleArete}]\Defaut{45} modifie l'angle en degré des arêtes.
    \item[La clé \Cle{CouleurPoisson}]\Defaut{white} modifie la couleur de la tête du poisson.
    \item[La clé \Cle{ElementsVisibles}]\Defaut{-} n'affiche que les diviseurs listés.
    \item[La clé \Cle{CouleurSolution}]\Defaut{-} modifie la couleur des éléments non visibles.
  \end{SousDescription}
\end{Key}
\end{tcolorbox}
\footnotetext{D'après \url{https://mrchapmanmaths.wordpress.com/2024/06/09/factor-fish/}.}
%\begin{multicols}{2}
  \begin{Codes}[listing side text]{0.5}{}
La liste des diviseurs de 999 est
 \Decomposition[Diviseurs]{999}.
\end{Codes}

  \begin{Codes}[listing side text]{0.5}{}
La liste des diviseurs de 999 est :
\begin{center}    
  \Decomposition[DiviseursT]{999}
\end{center}
\end{Codes}
\begin{multicols}{2}
\begin{Codes}[]{0.5}{}
\Decomposition[Poisson]{999}
\end{Codes}
\begin{Codes}[]{0.5}{}
\Decomposition[Poisson]{100}
\end{Codes}
\end{multicols}
\begin{Codes}[listing side text]{0.5}{}
\Decomposition[%
Poisson,
Echelle=7mm,
AngleArete=60,
CouleurPoisson=Cornsilk,
ElementsVisibles={9,37}
]{999}
\end{Codes}
%\end{multicols}
%\clearpage
\begin{tcolorbox}[tikzcle]
  \index[cle]{Decomposition@\lstinline+\Decomposition+!Arbre|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!Arbre!Entoure|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!ArbreComplet|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!ArbreComplet!Entoure|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!ArbreVide|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!ArbreDessine|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!AbreDessine!Nombre|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!ArbreDessine!Impression|mygobble}
  \index[cle]{Decomposition@\lstinline+\Decomposition+!ArbreDessineVide|mygobble}
\begin{KeyS}{Arbre}{false}
  trace un arbre de décomposition {\em simple}.
  \begin{SousDescription}
  \item[La clé \Cle{Entoure}]\DefautR{false}
    entoure les nombres premiers de la décomposition.
  \end{SousDescription}
\end{KeyS}
\begin{KeyS}{ArbreComplet}{false}
  trace un arbre {\em complet} de décomposition, plus lisible pédagogiquement.
  \begin{SousDescription}
  \item[La clé \Cle{Entoure}]\DefautR{false}
    entoure la décomposition finale.
  \end{SousDescription}
\end{KeyS}
\begin{KeyS}{ArbreVide}{false}
  permet de créer une structure vide déjà préparée.
\end{KeyS}
\begin{KeyS}{ArbreDessine}{false}
  met un peu de fun dans la décomposition. \RKbigsmile
  \begin{SousDescription}
  \item[La clé \Cle{Nombre}]\DefautR{}
    impose le premier facteur (obligatoire).
  \item[La clé \Cle{Impression}]\DefautR{false}
    modifie les couleurs pour l'impression.
  \end{SousDescription}
\end{KeyS}
\begin{KeyS}{ArbreDessineVide}{false}
  met un peu de fun dans la décomposition. \RKbigsmile
  \begin{SousDescription}
    \item[Les clés \Cle{Nombre} et \Cle{Impression}] sont aussi disponibles.
  \end{SousDescription}
\end{KeyS}
\end{tcolorbox}
\begin{Code}
\Decomposition[Arbre]{15789}
\end{Code}
\begin{Code}
\Decomposition[Arbre,Entoure]{125800}
\end{Code}
\begin{Exemple}[]{}
\Decomposition[ArbreComplet]{150}
\end{Exemple}
\begin{Code}
\Decomposition[ArbreComplet,Entoure]{150}
\end{Code}
\begin{Exemple}[]{}
\Decomposition[ArbreVide]{150}    
\end{Exemple}

\begin{Codes}[listing side text]{0.4}{}
\Decomposition[ArbreDessine,Nombre=4]{16}
\end{Codes}
\begin{Exemple}[]{}
\Decomposition[ArbreDessineVide,Nombre=16]{48}

\Decomposition[ArbreDessine,Nombre=4,Impression]{24}

\Decomposition[ArbreDessineVide,Nombre=16,Impression]{48}
\end{Exemple}
\clearpage
%Sur la page suivante, on trouve un exemple qui regroupe quelques clés de la commande
%\lstinline!\Decomposition!.
Voici un exemple qui regroupe quelques clés de la commande \lstinline!\Decomposition!.
\begin{Codes}[]{0.4}{}
Écrire la décomposition en produit de facteurs premiers du nombre \num{2450}.

\bigskip

\begin{minipage}{0.45\linewidth}
  \[\Decomposition[ArbreComplet]{2450}\]
\end{minipage}
\hfill
\begin{minipage}{0.45\linewidth}
  On décompose \num{2450} :
  \Decomposition[Tableau]{2450}
  Par conséquent, on écrit :
  \[\num{2450}=\Decomposition[Exposant]{2450}\]
\end{minipage}
\end{Codes}
\clearpage
\subsection*{Le crible d'Eratosthène}\PfCMAJ{0.99-z-l}
\index{Crible d'Eratosthene@Crible d'Eratosthène}\index[cle]{Eratosthene@\lstinline+\Eratosthene+}
La commande \lstinline!\Eratosthene!$^{\text{\faIcon{sync-alt}}}$ permet d'afficher une représentation du crible d'Eratosthene :
\begin{center}
  \Eratosthene[Nombre=3]
\end{center}
Elle a la forme suivante :
\begin{lstlisting}[escapechar=!,aboveskip=1em,belowskip=0.5em]
  \Eratosthene[!\sffamily\textlangle clés\textrangle!]
\end{lstlisting}
où \textlangle\lstinline!clés!\textrangle{} constituent un ensemble
  d'options pour paramétrer la commande (paramètres optionnels).
\begin{Codes}[listing side text]{0.65}{}
\Eratosthene
\end{Codes}
\begin{tcolorbox}[tikzcle]
  \index[cle]{Eratosthene@\lstinline+\Eratosthene+!Lignes|mygobble}
  \index[cle]{Eratosthene@\lstinline+\Eratosthene+!Colonnes|mygobble}
  \index[cle]{Eratosthene@\lstinline+\Eratosthene+!Hauteur|mygobble}
  \index[cle]{Eratosthene@\lstinline+\Eratosthene+!Nombre|mygobble}
  \index[cle]{Eratosthene@\lstinline+\Eratosthene+!Nombre!CouleurP|mygobble}
  \index[cle]{Eratosthene@\lstinline+\Eratosthene+!Nombre!CouleurNP|mygobble}
\begin{Key}{Lignes}{10}
  modifie le nombre de lignes du tableau.
\end{Key}
\begin{Key}{Colonnes}{10}
  modifie le nombre de colonnes du tableau.
\end{Key}
\begin{Key}{Hauteur}{24pt}
  modifie la hauteur (et la largeur) de chaque cellule du tableau.
\end{Key}
\begin{Key}{Nombre}{10}
  modifie le nombre utilisé pour appliquer le crible.
  \begin{SousDescription}
  \item[La clé \Cle{CouleurP}]\DefautR{Cornsilk!50} modifie la couleur utilisée pour \og marquer\fg{} les nombres premiers.
  \item[La clé \Cle{CouleurNP}]\DefautR{Crimson!15} modifie la couleur utilisée pour \og marquer\fg{} les multiples des nombres premiers.
  \end{SousDescription}
\end{Key}
\end{tcolorbox}
\begin{Codes}[listing side text]{0.5}{}
\Eratosthene[Lignes=5,Colonnes=6,Hauteur=18pt]
\end{Codes}
\begin{Codes}[listing side text]{0.425}{}
% 2 est un nombre premier : on le retient,
% et on supprime tous ses multiples.
\Eratosthene[Nombre=2,Lignes=5,Colonnes=6,Hauteur=18pt]
\end{Codes}
\begin{Codes}[listing side text]{0.425}{}
% On applique le crible
%  pour les nombres 2 et 3.
\Eratosthene[Nombre=3,Lignes=5,Colonnes=6,Hauteur=18pt]
\end{Codes}
\begin{Codes}{0.6}{}
% On applique le crible pour les nombres de 2 à 11.
\Eratosthene[Nombre=11,Lignes=3,Colonnes=11,Hauteur=18pt]
\end{Codes}