Skip to content
Snippets Groups Projects
Commit c64d40b2 authored by Antho's avatar Antho
Browse files

Ajout d'un algorithme de décomposition en facteurs premiers

parent 344bfb50
No related branches found
No related tags found
No related merge requests found
......@@ -7,6 +7,7 @@
\usepackage{hyperref}
\usepackage{xcolor}
\usepackage[a4paper, total={6in, 8in}]{geometry}
\usepackage{movie15} % Pour pouvoir mettre des gifs
\newtheorem{theorem}{Théorème}
\newtheorem{proof}{Démonstration}
\title{Le théorème fondamental de l'arithmétique}
......@@ -89,7 +90,7 @@ Il a été énoncé par Euclide dans son livre \textit{Les Éléments} numéro V
\end{proof}
\subsection{Unicité de la factorisation}
\subsection{Exemple de factorisation réduite}
\subsection{Exemple de factorisation réduite}{\label{subsec/fact_ex}}
Posons d'abord un nombre entier non premier $a = 1638$\\
Effectuons la factorisation réduite de a en produit de facteurs premiers :\newline
On procédera pour cette exemple a des divisions successives de a par des nombres premiers de plus en plus grands :\newline
......@@ -132,8 +133,37 @@ Il a été énoncé par Euclide dans son livre \textit{Les Éléments} numéro V
\section{Algorithme de la décomposition d'un nombre en facteurs premiers}
Pour l'algorithme présenté dans la partie \ref{subsec/fact} nous aurons besoin de connaître le principe du
crible d'Eratosthène \ref{subsec/crible}
\subsection{Crible d'Eratosthène}{\label{subsec/crible}}
Le crible d'Eratosthène est défini sur un intervalle allant de $2$ à un autre nombre que l'on prendra ici égale à $100$
Description de l'algorithme du crible d'Eratosthène :\newline
On part de $2$ et on "enlève" tous les multiples de $2$ soient $4,6,8,\cdots,98,100$.
Ensuite on passe au nombre suivant non supprimé soit $3$ ici et on enlève les multiples de 3
On continue ainsi de suite jusqu'à ce qu'il ne reste aucun nombre non premier.
\subsection{Algorithme naïf de décomposition d'un nombre en facteurs premiers}{\label{subsec/fact}}
Pour cet algorithme, on partira du principe que l'on a une liste (de longueur $s$) de nombre premiers obtenue à partir du crible d'Eratosthène.\newline
\begin{enumerate}
\item Posons $n \geq 2$ l'algorithme commence par un test de primalité sur n (ici on le fait grâce au crible, si n est dans la liste alors
$n$ est premier)
\item si $n$ est premier, alors on renvoie n.
\item sinon, on divise $n$ par le premier entier (noté $p_1$) de la liste du crible d'Eratosthène
\begin{enumerate}
\item si le reste de cette division est nul dans ce cas, on recommence l'algorithme avec la valeur de $\frac{n}{p_1}$ et on garde
en mémoire le $p_1$ (si on fait un algorithme récursif cela se fait tout seul)
\item si le reste n'est pas nul, on divise $n$ par $p_2$ (soit le nombre premier suivant dans la liste du crible) et ce jusqu'à ce
que $p_i \divides n$, avec $1 \leq i \leq s$. Une fois $p_i$ trouvé on le garde en mémoire et on recommence l'agorithme avec la
valeur de $\frac{n}{p_i}$
\end{enumerate}
\item Ainsi en mutlipliant tous les $p_i$ gardés en mémoire entre-eux on a la décomposition de $n$ en facteurs premiers.
\end{enumerate}
En exemple, si on prend la liste suivante $l = [2,3,5,7,11,13,17,...]$ et le nombre $1638$ comme dans l'exemple \ref{subsec/fact_ex}, on a
: \newline $1638 = 2 \cdot 3 \cdot 3 \cdot 7 \cdot 13 = p_1 \cdot p_2 \cdot p_2 \cdot p_4 \cdot p_6$ car $p_i$ est le ième élément de la
liste $l$.
\section{Algorithmes calculant le PGCD et le PPCM de 2 nombres premiers}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment