{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "![En tête general](img/En_tete_general.png)\n", "\n", "\n", "*(C) Copyright Franck CHEVRIER 2019-2020 http://www.python-lycee.com/*\n", "\n", " Pour exécuter une saisie Python, sélectionner la cellule et valider avec SHIFT+Entrée." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Programme officiel : Programme Tale Math Expertes\n", "\n", "Liens vers les exercices et démonstrations du manuel : Collection Barbazo - Option Mathématiques Expertes - Programme 2020.\n", "\n", "Pour consulter le manuel, cliquer ici." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "COURS DE TERMINALE - MATHEMATIQUES EXPERTES
\n", "\n", "
\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sommaire\n", "\n", "Arithmétique
\n", "
\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notations :1. Division euclidienne et divisibilité
\n", "
\n", "Théorème : Division euclidienne d'un entier naturel par un entier naturel non nul.\n", "
\n", "Pour tout $a \\in \\mathbb{N}$ et $b \\in \\mathbb{N}^*$,
\n", "il existe un unique couple $(q;r)$ avec $q \\in \\mathbb{N}$ et $r \\in \\mathbb{N}$ tels que :\n", "$\\begin{Bmatrix} a=bq+r \\\\ 0 \\leq r < b \\end{Bmatrix}$.
\n", "
\n", "Théorème : Division euclidienne d'un entier relatif par un entier naturel non nul.\n", "\n", "
\n", "Pour tout $a \\in \\mathbb{Z}$ et $b \\in \\mathbb{N}^*$,
\n", "il existe un unique couple $(q;r)$ avec $q \\in \\mathbb{Z}$ et $r \\in \\mathbb{N}$ tels que :\n", "$\\begin{Bmatrix} a=bq+r \\\\ 0 \\leq r < b \\end{Bmatrix}$.\n", "
Démonstration p122 du manuel
\n", "\n", "Remarque :\n", "Définition : Divisibilité dans $\\mathbb{Z}$.\n", "\n", "Remarque :
\n", "Soit $a \\in \\mathbb{Z}$ et $b \\in \\mathbb{Z}^*$.
\n", " On dit que $b$ divise $a$ s'il existe $q \\in \\mathbb{Z}$ tel que $a=bq$.\n", "
\n", "Propriétés : Ensemble des diviseurs d'un entier.
\n", "Soit $a \\in \\mathbb{Z}$ ; $b \\in \\mathbb{Z}$ et $c \\in \\mathbb{Z}$.\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exemples :- $\\;\\;$ Si $a \\ne 0$, les éléments de $D(a)$ sont compris entre $-a$ et $a$, et par conséquent $D(a)$ est un ensemble fini.
\n", "- $\\;\\;$ $b \\in D(a) \\Longleftrightarrow -b \\in D(a) \\Longleftrightarrow b \\in D(-a) \\Longleftrightarrow -b \\in D(-a)$
\n", "- $\\;\\;$ Si $a \\in D(b)$ et $b \\in D(c)$ alors $a \\in D(c)$.
\n", "- $\\;\\;$ Si $a \\in D(b)$ et $a \\in D(c)$ alors $a \\in D(bu+cv)$ pour tout couple $(u;v) \\in \\mathbb{Z}^2$.
\n", "
$\\;\\;$NB : Un nombre de la forme $bu+cv$ avec $(u;v) \\in \\mathbb{Z}^2$ s'appelle une combinaison linéaire de $b$ et $c$.
\n", "$D(10)=\\left\\{-10;-5;-2;-1;1;2;5;10\\right\\}$\n", "\n", "
\n", "\n", "Remarque :- $\\;\\;$ $D(10)=\\left\\{-10;-5;-2;-1;1;2;5;10\\right\\}$
\n", "
$\\;\\;$Les éléments de $D(10)$ sont bien compris entre $-10$ et $10$, et $D(10)$ est fini.- $\\;\\;$On a par exemple $\\; 2 \\in D(10) \\;$ ; $\\;-2 \\in D(10) \\;$ ; $\\;2 \\in D(-10) \\;$ ; $\\;-2 \\in D(-10) \\;$.\n", "
- $\\;\\;$ $5$ divise $10$ et $10$ divise $30$, donc $5$ divise $30$.\n", "
- $\\;\\;$ $3$ divise $12$ et $3$ divise $15$ donc $3$ divise tout nombre de la forme $12u+15v$ où $(u;v) \\in \\mathbb{Z}^2$.
\n", "
\n", "La propriété 2. justifie qu'on ramène la recherche des diviseurs d'un nombre à la recherche des diviseurs positifs de sa valeur absolue (on cherche donc des diviseurs positifs d'un entier positif)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2. Congruence dans $\\mathbb{Z}$
\n", "\n", "Définition et notation : Congruence dans $\\mathbb{Z}$.\n", "\n", "Remarques :
\n", "Soit $(a;b) \\in \\mathbb{Z}^2$ et $n \\in \\mathbb{N}^*$.
\n", " On dit que $a$ est congru à $b$ modulo $n$ si $n$ divise $a-b$.
\n", " Dans ce cas, on note $a \\equiv b \\;[n]$.\n", "
\n", "\n", "
- $\\forall a \\in \\mathbb{Z}, \\forall n \\in \\mathbb{N}^*, \\; a \\equiv a \\;[n]$ (car $a-a=0$ est divisible par $n$)
\n", "- $a \\equiv b \\;[n] \\Longleftrightarrow b \\equiv a \\;[n]$ et on peut donc dire dans ce cas que $a$ et $b$ sont congruents modulo $n$. \n", "
\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercice :\n", "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Dans le manuel : n°34 p127
\n", "\n", "Propriété : Classes de congruences.
\n", "Soit $(a;b) \\in \\mathbb{Z}^2$ et $n \\in \\mathbb{N}^*$.
\n", "$a \\equiv b \\;[n]$ si et seulement si $a$ et $b$ ont le même reste dans la division euclidienne par $n$.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercices :\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Conséquence :- Démontrer cette propriété (voir dans le manuel : \"Rédiger une démonstration\" n°2 p123)
\n", "- Dans le manuel, compléter les congruences avec les valeurs entières positives les plus petites possibles: n°35 p127\n", "
\n", "\n", "
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Illustration graphique pour $n=7$ :" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Activer cette cellule (SHIFT+Entrée) pour faire apparaître la figure dynamique\n", "from IPython.display import display, HTML ; display(HTML('fig_dyn_GeoGebra/modulo_7.html'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Tout entier relatif $a$ est congru modulo $n$ à son reste par la division euclidienne par $n$ :
\n", "
\n", " Si $a=nq+r$ avec $0 \\leq r < n$ alors $a \\equiv r \\;[n]$.- Tout entier relatif $a$ est congru modulo $n$ à l'une des valeurs $0;1;...;n-1$
\n", "
\n", " (qui sont les restes possibles dans la division euclidienne par $n$).- Un entier relatif $a$ est divisible par $n$ si et seulement si $a \\equiv 0\\;[n]$.
\n", "\n", "Propriétés : Opérations et congruences.
\n", "Soit $a\\;;b\\;;c\\;;d$ des élements de $\\mathbb{Z}$ et $n \\in \\mathbb{N}^*$.\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercices :\n", "\n", " \n", "Somme \n", "$$ \\text{Si } a \\equiv b \\;[n] \\text{ alors } a+c \\equiv b+c \\;[n]$$ \n", "$\\;\\;\\;$ \n", "$$\\text{Si }\\begin{Bmatrix} a \\equiv b\\;[n] \\\\ c \\equiv d\\;[n] \\end{Bmatrix} \\text{ alors } a+c \\equiv b+d \\;[n]$$ \n", "\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "Somme \n", "$$ \\text{Si } a \\equiv b \\;[n] \\text{ et } c \\equiv d \\;[n] \\text{ alors } a+c \\equiv b+d \\;[n]$$ \n", "$\\;\\;\\;$ \n", "$$\\text{Si }\\begin{Bmatrix} a \\equiv b\\;[n] \\\\ c \\equiv d\\;[n] \\end{Bmatrix} \\text{ alors } a+c \\equiv b+d \\;[n]$$ \n", "\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "Produit \n", "$$\\text{Si }a \\equiv b \\;[n] \\text{ alors } ac \\equiv bc \\;[n]$$ \n", "$\\;\\;\\;$ \n", "$$\\text{Si }\\begin{Bmatrix}a\\equiv b\\;[n]\\\\c\\equiv d\\;[n] \\end{Bmatrix}\\text{ alors }ac\\equiv bd\\;[n]$$ \n", "\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "Puissance \n", "$$\\text{Si } a \\equiv b \\;[n] \\text{ alors } \\forall p \\in \\mathbb{N}, a^p \\equiv b^p \\;[n]$$ \n", "\n", " \n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Démontrer ces propriétés (voir pour aide dans le manuel : n°75 p130)
\n", "- Dans le manuel : n°36,39,41,45,42,44,53,56,61 p127,128,129
\n", "\n", "Exercice/TD : Critères de divisibilité" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "Dans cet exercice, on considère $a \\in \\mathbb{N}$ dont l'écriture décimale est de la forme $a=\\overline{a_ma_{m-1}...a_1a_0}$, où les $(a_i)_{0 \\leq i \\leq m}$ sont les chiffres de sa décomposition décimale.\n", "\n", "
\n", "NB : Les méthodes détaillées dans ce TD permettent non seulement de caractériser la divisibilité par $2$ ; $3$ ; $5$ ; $7$ ; $9$ ; $10$ ; $11$ et $13$, mais également de déterminer les restes des divisions euclidiennes par ces nombres.\n", "- Critères de divisibilité par $2$ ; $5$ et $10$.\n", "
\n", "\n", "
\n", "- Étudier les congruences modulo $2$ des puissances de $10$ de la forme $10^k$ où $k \\in \\mathbb{N}$.
\n", "- En déduire que $a \\equiv a_0 \\;[2]$. Quel critère de divisibilité par $2$ peut-on énoncer ?
\n", "- Démontrer de la même façon des critères de divisibilité par $5$ et par $10$.
\n", "- Critères de divisibilité par $3$ et $9$.\n", "
\n", "\n", "
\n", "- Étudier les congruences modulo $3$ des puissances de $10$ de la forme $10^k$ où $k \\in \\mathbb{N}$.
\n", "- En déduire que $a \\equiv a_m+a_{m-1}+...+a_0\\;[3]$.
\n", "
\n", " Quel critère de divisibilité par $3$ peut-on énoncer ?- Démontrer de la même façon un critère de divisibilité par $9$.
\n", "- Le nombre $12\\;504\\;237$ est-il divisible par $3$ ? par $9$ ?\n", "
- Critère de divisibilité par $11$.\n", "
\n", "\n", "
\n", "- Établir que $\\forall k \\in \\mathbb{N}, \\; 10^k \\equiv (-1)^k \\;[11]$.
\n", "- En déduire que $a \\equiv (a_0+a_2+...)-(a_1+a_3+...)\\;[11]$.
\n", "
\n", " Quel critère de divisibilité par $11$ peut-on énoncer ?- Le nombre $51\\;114\\;239$ est-il divisible par $11$ ?\n", "
- Critères de divisibilité par $7$ et $13$.\n", "
\n", "
\n", "- Établir que $\\forall k \\in \\mathbb{N}, \\;10^{3k} \\equiv (-1)^k \\;[13]$.
\n", "- On considère $a=17\\;725\\;864$. Justifier que $a \\equiv 17-725+864 \\;[13]$.
\n", "
\n", " $a$ est-il divisible par $13$ ?- Les nombres $80\\;501\\;551$ et $10^{13}$ sont-ils divisibles par $13$ ?
\n", "- Justifier que la même méthode permet d'étudier la divisibilité par $7$.
\n", "\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Zone pour écrire la fonction Python du TD (calcul de la clé INSEE avec la méthode directe)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Zone pour écrire la fonction Python du TD (calcul de la clé INSEE avec le 2ème méthode)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "Exercice/TD : Clé de vérification d'un numéro INSEE
\n", " \n", "![Carte_vitale](img/Carte_vitale.png)\n", "\n", "Sur une carte vitale figure le n° INSEE à 13 chiffres de son propriétaire, suivi d'une clé de vérification à 2 chiffres :
\n", "\n", "\n", "
\n", "\n", "- Le premier chiffre désigne le sexe de la personne (1 pour un homme, 2 pour une femme) ;
\n", "- Les deux chiffres suivants désignent les deux derniers chiffres de l’année de naissance ;
\n", "- Les deux chiffres suivants désignent les deux chiffres du mois de naissance ;
\n", "- Les deux chiffres suivants désignent le département de naissance ;
\n", "- Les trois chiffres suivants précisent la commune de naissance ;
\n", "- Les trois chiffres suivants correspondent au rang de naissance.
\n", "
\n", "Pour calculer la clé de vérification $K$, on commence par calculer le reste $r$ de la division euclidienne par 97 du nombre formé par les 13 chiffres du n° INSEE, et on obtient $K$ à l'aide de la formule $K=97-r$.\n", "\n", "\n", "
\n", " \n", "- Certaines calculatrices permettent de calculer directement une clé de n° INSEE... d'autres pas.
\n", "
\n", " Tester le calcul de la clé sur la carte vitale fournie et sur votre propre n° INSEE.
\n", " Votre calculatrice permet-elle d'effectuer ce calcul ? (préciser le modèle utilisé)
\n", " Afin de permettre le calcul de la clé sur tout appareil, on souhaite mettre en place une stratégie de calcul de cette clé utilisant des nombres de taille plus raisonnable.- On note $A$ le numéro INSEE.
On note $x$ le nombre formé par les $7$ premiers chiffres de $A$ et $y$ le nombre formé par les $6$ derniers chiffres de $A$.\n", "\n", "
\n", "- Exprimer $A$ en fonction de $x$ et $y$.
\n", "- Déterminer la classe de congruence de $10^2$ modulo $97$ et en déduire celle de $10^6$.
\n", "
\n", " (classe de congruence de $n$ modulo $m$ signifie ici reste de la division euclidienne de $n$ par $m$)- En déduire que $A \\equiv 27x+y \\;[97]$
\n", "- En déduire une méthode de calcul de la clé de n°INSEE et tester cette méthode en reprenant les calculs de la question 1.
\n", "- Votre voisin vous fournit son numéro INSEE sans la clé. Pouvez vous retrouver la clé manquante ?
\n", "- Écrire deux fonctions Python qui reçoivent en argument le n° INSEE $A$ et qui renvoient la clé $K$ :\n", "
\n", "
\n", "- directement avec sa définition ;
\n", "- à l'aide de la méthode vue à la question 2.
\n", "\n", "
\n", "Exercice/TD : Clé d'un Relevé d'Identité Bancaire (RIB)
\n", "Le numéro d'un relevé d’identité bancaire (RIB) est composé de $21$ chiffres :\n", "\n", "
\n", "Enfin, la clé de vérification $K$ est calculée à l'aide de ce nombre $A$ à $21$ chiffres de la façon suivante :- Les cinq premiers chiffres indiquent la banque ;
\n", "- Les cinq chiffres suivants indiquent le guichet ;
\n", "- Les onze chiffres suivants précisent le numéro de compte.
\n", "
\n", "On calcule le reste $r$ de la division euclidienne de $A$ par $97$, puis on pose $K=97-r$. \n", "
\n", "Dans cet exercice, on considère un RIB dont le numéro est donné ci-dessous et dont on souhaite retrouver la clé :\n", " \n", "|Banque|Guichet|n° de compte|Clé RIB|\n", "|:-----|:------|:-----------|:------|\n", "|12548 |02998 |00000123000 |?? |\n", "\n", "\n", "
\n", "\n", " \n", " \n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Zone pour écrire la fonction Python du TD (question 5)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Zone pour tester la fonction Python du TD (question 5)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Zone pour écrire la fonction Python du TD (question 6)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Zone pour tester la fonction Python du TD (question 6)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercices : (prolongements des TD)- Tester le calcul direct de la clé de ce RIB à la calculatrice. Commenter.
\n", "- Décomposer le numéro $A$ du RIB sous la forme $A=a \\times 10^{12} +b \\times 10^{6}+c$ où $a$, $b$ et $c$ sont trois nombres entiers naturels d'au plus 6 chiffres.
\n", "- Déterminer les restes des divisions euclidiennes de $10^{6}$ et $10^{12}$ par $97$.
\n", "- En déduire une méthode pour déterminer la clé du RIB et tester cette méthode.
\n", "- Écrire une fonction Python qui permet de calculer la clé d'un RIB à partir de son numéro.
\n", "- Écrire une fonction Python qui reçoit en argument un numéro de RIB et une clé, et renvoie True si la clé correspond bien au numéro et False sinon.\n", "
\n", "Dans le manuel : n°78 p130 et n°97 p133\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notation :3. PGCD et algorithme d'Euclide
\n", "
\n", "Pour tout $a \\in \\mathbb{Z}^*$ et $b \\in \\mathbb{Z}^*$, on note $D(a;b)$ l'ensemble des diviseurs communs de $a$ et de $b$.
\n", "\n", "Remarque :
\n", "$D(a;b) = D(a) \\cap D(b)$ est fini car $D(a)$ et $D(b)$ sont finis pour $a \\ne 0$ et $b \\ne 0$.
De plus, $1 \\in D(a;b)$.
Comme $D(a;b)$ est un ensemble fini non vide d'entiers, il possède un plus grand élément. Ceci justifie la définition suivante :" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Définition : PGCD de deux entiers $\\mathbb{Z}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Remarques :
\n", "Soit $a \\in \\mathbb{Z}$ et $b \\in \\mathbb{Z}^*$.
\n", "$D(a;b)$ possède un plus grand élément appelé plus grand commun diviseur (PGCD) de $a$ et $b$.
\n", "On note cet entier $PGCD(a;b)$.\n", "
\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercices :\n", "- Dans la pratique, la recherche du PGCD de deux entiers relatifs non nuls peut toujours se ramener à la recherche du PGCD de deux entiers naturels, puisque $PGCD(a;b)=PGCD(\\lvert a \\rvert;\\lvert b \\rvert)$.
\n", "- $1 \\in D(a;b)$ donc $PGCD(a;b) \\geq 1$.
\n", "- $D(a;b) \\subset D(a)$ donc $PGCD(a;b) \\leq a$.
\n", "
On a de même $PGCD(a;b) \\leq b$.\n", "
" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Effectuer des appels à la fonction diviseurs pour vérifier les réponses des exercices n°1,2 p148\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Exercice n°3 p148\n", "\n", "def mystere(a,b):\n", " n=1\n", " while n<=a and n<=b:\n", " if a%n==0 and b%n==0:\n", " p=n\n", " n=n+1\n", " return n\n", "\n", "#Effectuer ici l'appel à la fonction mystere\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Dans le manuel : n°1,2,10 p148
\n", "
(on pourra vérifier à l'aide de la fonction Python diviseurs écrite dans la section de cours 1.)- Dans le manuel : n°3 p148
\n", "
(utiliser la zone de saisie Python ci-dessous)\n", " TP de cours : PGCD, Euclide et Bézout
\n", "\n", "[![Euclide](img/mini_Euclide_Bezout.png)](https://mybinder.org/v2/gh/PythonLycee/PyLyc/master?filepath=PGCD_Euclide_Bezout.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bilan des parties I et II du TP :\n", "\n", "\n", "
\n", " Réaliser les parties I et II du TP (ne pas oublier de sauvegarder l'état du Notebook).
\n", " Cliquer pour accéder à l'activité :\n", "\n", " Propriété : Méthode de recherche du PGCD par l'algorithme d'Euclide
\n", "On considère $a \\in \\mathbb{N}^*$ et $b \\in \\mathbb{N}^*$.
\n", "On pose $\\color{red}{a_0=a}$ et $\\color{blue}{b_0=b}$ puis on considère la succession des divisions euclidiennes suivantes, réitérées tant que le reste $r_n$ n'est pas nul.
\n", "\n", "\\begin{array}{} \n", "\\color{red}{a_0} &=& \\color{blue}{b_0} q_0 & + & \\color{green}{r_0} \\\\ \n", "\\; & \\color{blue}\\swarrow & \\; & \\color{green}\\swarrow \\\\ \n", "\\color{blue}{a_1} &=& \\color{green}{b_1} q_1 & + & \\color{magenta}{r_1} \\\\ \n", "\\; & \\color{green}\\swarrow & \\; & \\color{magenta}\\swarrow \\\\ \n", "\\color{green}{a_2} &=& \\color{magenta}{b_2} q_1 & + & \\color{brown}{r_2} \\\\ \n", "\\; & \\color{magenta}\\swarrow & \\; & \\color{brown}\\swarrow \\\\\n", "... & \\; & \\;... & & ... \\\\ \n", "... & \\; & \\;... & & ... \\\\ \n", "\\; & \\color{blue}\\swarrow & \\; & \\color{green}\\swarrow \\\\ \n", "\\color{blue}{a_{N-1}} &=& \\color{green}{b_{N-1}} q_{N-1} & + & \\color{magenta}{r_{N-1}} \\\\ \n", "\\; & \\color{green}\\swarrow & \\; & \\color{magenta}\\swarrow \\\\ \n", "\\color{green}{a_N} &=& \\color{magenta}{b_N} q_N & + & \\color{red}0 \\\\\n", "\\end{array}\n", "
\n", "Alors:\n", "\n", "
\n", "On retient :- Il existe un rang $N$ tel que $r_N=0$.
\n", "- $b_N=PGCD(a;b)$ et si $r_{N-1}$ existe alors $r_{N-1}=PGCD(a;b)$.
\n", "
\n", "Le PGCD de $a$ et de $b$ est le dernier reste non nul obtenu en appliquant l'algorithme d'Euclide." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Propriété : Ensemble des diviseurs communs à deux nombres\n", "
\n", "Soit $a \\in \\mathbb{Z}^*$ et $b \\in \\mathbb{Z}^*$.
\n", "Si $d=PGCD(a;b)$ alors $D(a;b)=D(d)$.\n", "
\n", "Démonstrations :
\n", "\n", "
\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercices :\n", "- Propriété 1 : La démonstration a été faite dans le TD précédent.
\n", "- Propriété 2 : Dans le TD précédent, on a démontré que $D(a;b)=D(b_N,0)=D(b_N)$ et $b_N$ est le PGCD de $a$ et $b$.
\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Dans le manuel : Exercice résolu n°2 p139 à voir
\n", "- Dans le manuel : Exercice n°4,5,13 p148
\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "4. Nombres premiers entre eux, théorème de Bézout, théorème de Gauss
\n", "\n", "Définition : Entiers premiers entre eux $\\mathbb{Z}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Remarques :\n", "
\n", "Soit $a \\in \\mathbb{Z}^*$ et $b \\in \\mathbb{Z}^*$.
\n", "On dit que $a$ et $b$ sont premiers entre eux si $PGCD(a;b)=1$.\n", "\n", "
\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Attention à ne pas confondre avec la notion de nombre premier, dont la définition sera donnée plus loin dans le cours. La notion de nombres premiers entre eux n'a de sens que pour un couple d'entiers non nuls.
\n", "- Si deux nombres sont premiers entre eux, alors leurs seuls diviseurs communs sont $1$ et $-1$.
\n", "\n", "Propriété : Ensemble des diviseurs communs à deux nombres" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercices :\n", "
\n", "Soit $a \\in \\mathbb{Z}^*$ et $b \\in \\mathbb{Z}^*$.
\n", "Si $d=PGCD(a;b)$ alors $\\exists a\\;' \\in \\mathbb{Z}^*, \\; \\exists b\\;' \\in \\mathbb{Z}^* \\;/ \\begin{Bmatrix} a=da\\;' \\\\ b=db\\;' \\\\ PGCD(a\\;';b\\;')=1 \\end{Bmatrix}.$\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Démontrons la propriété ci-dessus.
Comme $d$ divise $a$ et $b$ , l'existence de $a\\;'$ et $b\\;'$ tels que $a=da\\;'$ et $b=db\\;'$ est immédiate. Il reste à prouver que $PGCD(a\\;';b\\;')=1$.\n", "\n", "
- On pose $d\\;'=PGCD(a\\;';b\\;')$. Justifier que $dd\\;'$ est un diviseur commun de $a$ et $b$.
\n", "- Conclure en déduisant la valeur de $d\\;'$.
\n", "
\n", "- Soit $a \\in \\mathbb{Z}$ et $b \\in \\mathbb{N}^*$. On dit que la fraction $\\frac{a}{b}$ est irréductible si $PGCD(a;b)=1$.\n", "
\n", "
\n", "- Déterminer, à l'aide de l'algorithme d'Euclide, le PGCD de $391$ et $2415$.
\n", "- En déduire la forme irréductible de la fraction $\\frac{391}{2415}$.\n", "
\n", " TP de cours : PGCD, Euclide et Bézout
\n", "\n", "[![Euclide](img/mini_Euclide_Bezout.png)](https://mybinder.org/v2/gh/PythonLycee/PyLyc/master?filepath=PGCD_Euclide_Bezout.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bilan de la partie III du TP :
\n", " Réaliser la partie III du TP (récupérer la sauvegarde avec les parties I et II achevées).
\n", " Nécessite les opérations sur les matrices.
\n", " Cliquer pour accéder à l'activité :\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Propriété : Existence des coefficients de Bézout : décomposition d'un PGCD de deux nombres comme combinaison linéaire de ces nombres\n", "
\n", "Soit $a \\in \\mathbb{Z}^*$ ; $b \\in \\mathbb{Z}^*$ et $d=PGCD(a;b)$
\n", "Alors $\\exists(u;v) \\in \\mathbb{Z}^2 \\;/\\; au+bv=d$ \n", "
\n", "Vocabulaire :
\n", "$(u;v)$ est un couple de coefficients de Bézout permettant de décomposer le PGCD de $a$ et $b$ comme combinaison linéaire de ces deux nombres." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Remarque :
\n", "\n", "
- Dans le cas où $a \\in \\mathbb{N}^*$ et $b \\in \\mathbb{N}^*$, on peut déterminer un couple de coefficients de Bézout en \"remontant\" l'algorithme d'Euclide (vu dans le TP), et dans les autres cas, il suffit d'appliquer cette méthode à $\\lvert a \\rvert$ et $\\lvert b \\rvert$ puis d'adapter les signes des coefficients trouvés.
\n", "- Il n'y a pas unicité du couple de coefficients de Bézout.
Par exemple, $PGCD(12;42)=6$ et on peut écrire différentes décompositions de $6$ comme combinaison linéaire de $12$ et $42$:
$12 \\times (-3) + 42 \\times 1 =6$
$12 \\times 4 + 42 \\times (-1) =6$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercices :\n", "\n", "
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dans le cas où $a$ et $b$ sont premiers entre eux, le résultat précédent peut s'écrire sous la forme d'une équivalence :" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- A l'aide de l'algorithme d'Euclide, déterminer le PGCD de $420$ et $637$, puis exprimer ce PGCD comme combinaison linéaire de ces deux nombres.
\n", "- Même question pour $152$ et $184$.
\n", "\n", "Théorème : Théorème de Bézout.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercices :\n", "
\n", "Soit $a \\in \\mathbb{Z}^*$ ; $b \\in \\mathbb{Z}^*$
\n", "Alors :
\n", " $a$ et $b$ sont premiers entre eux si et seulement si $\\exists(u;v) \\in \\mathbb{Z}^2 \\;/\\; au+bv=1$\n", "\n", "
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Démontrer le théorème de Bézout, par double-implication.
\n", "- Dans le manuel : Exercice n°18,19,22 p149.
\n", "\n", "Théorème : Théorème de Gauss." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercices :\n", "
\n", "Soit $a \\in \\mathbb{Z}^*$ ; $b \\in \\mathbb{Z}^*$ et $c \\in \\mathbb{Z}^*$
\n", "
\n", "Si $\\begin{Bmatrix} a \\text{ et } b \\text{ sont premiers entre eux} \\\\ a \\text{ divise } bc \\end{Bmatrix}$ alors $a$ divise $c$.\n", "\n", "
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On en déduit la propriété suivante, conséquence du théorème de Gauss :" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Dans le manuel : Démontrer le théorème de Gauss : \"Rédiger une démonstration\" n°1 p144
\n", "- Dans le manuel : Exercice n°26,27 p149.
\n", "\n", "Propriété : diviseurs premiers entre eux\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercices :\n", "
\n", "Soit $a \\in \\mathbb{Z}^*$ ; $b \\in \\mathbb{Z}^*$ et $c \\in \\mathbb{Z}^*$
\n", "
\n", "Si $\\begin{Bmatrix} a \\text{ et } b \\text{ sont premiers entre eux} \\\\ a \\text{ divise } c \\\\ b \\text{ divise } c \\end{Bmatrix}$ alors $ab$ divise $c$.\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Dans le manuel : Démontrer la propriété ci-dessus : \"Rédiger une démonstration\" n°2 p144
\n", "- Dans le manuel : Exercice n°31 p149.
\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "5. Résolution d'équations diophantiennes
\n", "\n", "Définition : Équation diophantienne $\\mathbb{Z}$.\n", "\n", "
\n", "Soit $a \\in \\mathbb{Z}^*$ ; $b \\in \\mathbb{Z}^*$ et $c \\in \\mathbb{Z}^*$.
\n", "L'équation $ax+by=c$ dont l'inconnue est le couple $(x;y) \\in \\mathbb{Z}^2$ est appelée équation diophantienne.\n", "\n", "Propriété : Existence de solution d'une équation diophantienne\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercices :\n", "
\n", "Soit $a \\in \\mathbb{Z}^*$ ; $b \\in \\mathbb{Z}^*$ et $c \\in \\mathbb{Z}^*$
\n", "L'équation diophantienne $ax+by=c$ admet des solutions si et seulement si $c$ est un multiple de $PGCD(a;b)$.\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Dans le manuel : Démontrer la propriété ci-dessus : \"Rédiger une démonstration\" n°4 p145
\n", "- Dans le manuel : Exercice n°33; 34; 32 p150.
\n", "\n", "Méthode : Méthode générale de résolution d'une équation diophantienne" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercices :\n", "
\n", "Soit $a \\in \\mathbb{Z}^*$ ; $b \\in \\mathbb{Z}^*$ et $c \\in \\mathbb{Z}^*$
\n", "Pour résoudre l'équation diophantienne $ax+by=c$ d'inconnue $(x;y) \\in \\mathbb{Z}^2$ :\n", "\n", "
\n", "- Rechercher un couple particulier $(x_0;y_0)$ tel que $ax_0+by_0=c$.
\n", " Pour cela, essayer dans l'ordre :
\n", "\n", "
- Si une solution particulière est proposée dans l'énoncé, vérifier qu'elle convient.
\n", "- Si possible, déterminer directement une solution particulière \"évidente\".
\n", "- Sinon: \n", "
\n", "
\n", "- L'algorithme d'Euclide donne $d=PGCD(a;b)$ et un couple de coefficients de Bézout $(u;v)$ tel que $au+bv=d$
\n", "- La valeur $d=PGCD(a;b)$ permet de vérifier que l'équation admet des solutions
\n", "
\n", " (c'est le cas si et seulement si $d$ divise $c$ d'après la propriété précédente)- Si c'est le cas, l'égalité $au+bv=d$ permet d'obtenir une solution $ax_0+by_0=c$ (en multipliant)
\n", "
\n", "- Rechercher une condition nécessaire pour qu'un couple $(x;y)$ soit solution :
\n", "
\n", "\n", "
\n", "- La solution particulière permet de transformer l'équation diophantienne :
\n", "
\n", " $ax+by=c \\Longleftrightarrow ax+by=ax_0+by_0$
\n", " $\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\Longleftrightarrow a(x-x_0)=b(y_0-y)$
\n", " $\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\Longleftrightarrow a\\;'(x-x_0)=b\\;'(y_0-y)$ en divisant par $d=PGCD(a;b)$
\n", " $\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;$(où $a=da\\;'$ et $b=db\\;'$ avec $a\\;'$ et $b\\;'$ premiers entre eux)
\n", "- On en déduit les valeurs possibles pour $x$ :
\n", "
\n", " $\\begin{Bmatrix} b\\;' \\text{ divise } a\\;'(x-x_0) \\\\ a\\;' \\text{ et } b\\;' \\text{ sont premiers entre eux} \\end{Bmatrix}$ donc (théorème de Gauss) $b\\;'$ divise (x-x_0).
\n", " $\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;$donc $\\exists k \\in \\mathbb{Z}$ tel que $x-x_0=kb\\;'$ c'est à dire $x=x_0+k\\;b'$.
\n", "- On en déduit les valeurs correspondantes possibles pour $y$ :
\n", "
\n", " $x-x_0=kb\\;'$ donc $a\\;'(x-x_0)=b\\;(y-y_0)$ donne $a\\;'kb\\;'=b\\;'(y_0-y)$
\n", " $a\\;'k=y_0-y$
\n", " $y=y_0-ka\\;'$\n", "- Vérifier que la condition trouvée est suffisante
\n", "
\n", " On considère $(x;y)=(x_0+kb\\;';y_0-ka\\;')$ où $k \\in \\mathbb{Z}$ que l'on teste dans l'équation diophantienne :
\n", " $ax+by=a(x_0+kb\\;')+b(y_0-ka\\;')$
\n", " $\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;=\\underbrace{ax_0+by_0}_{= 0}+akb\\;'-bka\\;'$
\n", " $\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;=k(ab\\;'-ba\\;')$
\n", " $\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;=k(da\\;'b\\;'-db\\;'a\\;')$
\n", " $\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;\\;=0$\n", "- Conclure :
\n", "
\n", " Les solutions de l'équation diophantienne sont exactement les couples $(x;y)=(x_0+kb\\;';y_0-ka\\;')$ où $k \\in \\mathbb{Z}$.\n", "\n", "
\n", "- Résoudre l'équation diophantienne $39x+27y=18$ en suivant pas à pas la méthode ci-dessus.
\n", "- Dans le manuel : Exercices n°35,37,39,42 p150.
\n", "- TP : Chiffrement affine et chiffrement de Vigenère
\n", "- TP : Chiffrement de Hill (Attention, nécessite les opérations sur les matrices)
\n", "\n", " TP Chiffrement affine et chiffrement de Vigenère :\n", "
\n", "\n", "[![Chiffrement](img/mini_chiffrement_affine.png)](https://mybinder.org/v2/gh/PythonLycee/PyLyc/master?filepath=Chiffrement_affine_Vigenere.ipynb)\n", "\n", "\n", " TP Chiffrement de Hill (avec opérations sur les matrices) :\n", "
\n", "\n", "[![Chiffrement](img/mini_chiffrement_Hill.png)](https://mybinder.org/v2/gh/PythonLycee/PyLyc/master?filepath=Chiffrement_Hill.ipynb)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "6. Nombres premiers
\n", "\n", "Dans toute cette partie, on ne considèrera que des entiers naturels.
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "Sauf mention expresse du contraire, le terme \" diviseur \" signifiera donc \" diviseur positif \".\n", "\n", "Définition : Nombre premier." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercices :\n", "
\n", "Soit $p \\in \\mathbb{N}$.
\n", " Le nombre $p$ est dit premier s'il a exactement deux diviseurs : 1 et lui-même.\n", "\n", "
\n", " " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#(Zone Python pour l'exercice 5)\n", "#Écrire ici la fonction diviseurs_pos\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#(Zone Python pour l'exercice 5)\n", "#Écrire ici la fonction premier\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Lister les nombres premiers inférieurs à 30.
\n", "- Dans le manuel : Exercices n°2,6,8,7,10 p170.
\n", "- Démontrer que deux nombres premiers distincts sont forcément premiers entre eux
\n", "- Dans le manuel : Exercices n°16,24,23 p170,171.
\n", "- Programmation Python :
\n", "
\n", " Écrire une fonction Python premier qui reçoit un entier naturel non nul n en argument, et qui renvoie True si ce nombre est premier et False sinon.
Aide : On peut utiliser la fonction Python diviseurs déjà écrite dans la section de cours 1, sachant que la syntaxe len(L) permet d'obtenir le nombre d'éléments d'une liste L.\n", "Propriété : Existence d'un diviseur premier.\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercice :
\n", "Si $n$ est un entier naturel supérieur à $2$ non premier, alors $n$ admet (au moins) un diviseur premier inférieur ou égal à $\\sqrt{n}$.\n", "
\n", "Dans le manuel : Démonstration de la propriété ci-dessus : \"Rédiger une démonstration\" n°1 p167." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Théorème : Ensemble des nombres premiers." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercice :
\n", "Il existe une infinité de nombres premiers.\n", "\n", "
\n", "Dans le manuel : Démonstration du théorème ci-dessus : \"Rédiger une démonstration\" n°2 p167." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " TP : Crible d'Ératosthène
\n", "\n", "[![Eratosthène](img/mini_Eratosthene.png)](https://mybinder.org/v2/gh/PythonLycee/PyLyc/master?filepath=Crible_Eratosthene.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Théorème : Théorème fondamental de l'arithmétique : Décomposition d'un entier en produit de facteurs premiers.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Remarque:
\n", "Soit $n$ un entier naturel supérieur ou égal à $2$.
\n", "Alors il existe une décomposition unique de $n$ sous forme d'un produit de facteurs premiers ordonnés :
\n", "$$n=p_1^{\\alpha_1}p_2^{\\alpha_2}...p_m^{\\alpha_m}$$\n", "
où $p_1\n", "et $\\alpha_1;\\alpha_2;...;\\alpha_m$ sont des entiers naturels non nuls.\n", "
\n", "Cette écriture s'appelle la décomposition en produit de facteurs premiers de $n$.\n", "
\n", "Ce théorème peut s'écrire, avec les notations mathématiques :\n", "\n", "$$\\forall n \\in \\mathbb{N}\\;,\\; n \\geq 2\\;,\\; \\exists! m \\in \\mathbb{N}^*\\;,\\; \\exists! (p_i)_{1 \\leq i \\leq m} \\in \\mathbb{N}^m\\;,\\; \\exists! (\\alpha_i)_{1 \\leq i \\leq m} \\in (\\mathbb{N}^{*})^m\\; / $$\n", "\n", "$$ \\forall 1 \\leq i \\leq m \\;\\;,\\;\\; p_i \\text{ est premier}$$\n", "$$ \\forall 1 \\leq i \\leq m-1 \\;\\;,\\;\\; p_i < p_{i+1}$$\n", "$$ n = p_1^{\\alpha_1}p_2^{\\alpha_2}...p_m^{\\alpha_m} = \\prod_{i=1}^m p_i^{\\alpha_i}$$\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercice de démonstration : Démonstration du théorème énonçant l'existence et l'unicité de la décomposition en produit de facteurs premiers
\n", "\n", "
- Existence de la décomposition :
\n", "
\n", " Pour tout $n \\geq 2$, on considère la propriété $Q(n): \\;\" \\forall 1 \\leq j \\leq n, \\text{ il existe une décomposition en produit de facteurs premiers de } j \"$
\n", " Démontrer par récurrence que la propriété $Q(n)$ est vraie pour tout $n \\geq 2$.
\n", " (On pourra utiliser la propriété qui assure qu'un nombre non premier $n \\geq 2$ admet au moins un diviseur premier)\n", "- Unicité de la décomposition :
\n", " On souhaite effectuer un raisonnement par l'absurde.
\n", " On suppose donc qu'il existe un entier $n \\geq 2$ pour lequel il existe deux décompositions différentes en produits de facteurs premiers :
\n", " $n = p_1^{\\alpha_1}p_2^{\\alpha_2}...p_m^{\\alpha_m} = q_1^{\\;\\beta_1}q_2^{\\;\\beta_2}...q_r^{\\;\\beta_r}$ où les $(p_i)$, $(q_i)$ sont des nombres premiers et les $(\\alpha_i)$, $(\\beta_i)$ sont des entiers naturels non nuls.
\n", " Comme les deux décompositions sont distinctes, il existe dans une des deux décompositions un facteur premier $p$ qui apparait avec une puissance différente dans l'autre décomposition ou qui n'apparait pas.
\n", " On peut par exemple supposer que $n=p^{\\;\\alpha} \\times a$ et $n=p^{\\;\\beta} \\times b$ avec $\\alpha > \\beta \\geq 0$\n", " (où $a$ et $b$ sont des produits de nombres premiers distincts de $p$)
\n", " NB : le cas $\\beta=0$ correspond au cas où $p$ n'apparait pas dans la deuxième décomposition.\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Justifier que $p$ est premier avec $b$.
\n", "- Justifier que $p^{\\alpha-\\beta} \\times a = b$ et en déduire une contradiction.
\n", "- Conclure.
\n", "\n", "Propriété : Diviseurs d'un entier.\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercices :\n", "
\n", "Si $n$ est un entier naturel supérieur ou égal à $2$ dont la décomposition en facteurs premiers est : \n", "$$n=p_1^{\\alpha_1}p_2^{\\alpha_2}...p_m^{\\alpha_m}$$\n", "
où $p_1\n", "et $\\alpha_1;\\alpha_2;...;\\alpha_m$ sont des entiers naturels non nuls.
\n", "Alors:\n", "\n", "
- il y a exactement $(\\alpha_1+1)(\\alpha_2+1)...(\\alpha_m+1)$ diviseurs de $n$ ;
\n", "- les diviseurs de $n$ sont exactement les nombres $d$ qui s'écrivent $d=p_1^{\\;\\beta_1}p_2^{\\;\\beta_2}...p_m^{\\;\\beta_m}$
\n", "
où $\\beta_1;\\beta_2;...;\\beta_m$ sont des entiers naturels tels que $\\forall 1 \\leq i \\leq m \\;,\\;0 \\leq \\beta_i \\leq \\alpha_i$.\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Dans le manuel : Exercices n°29,30,31,32,35,37,40,42,43 p171.
\n", "- Dans le manuel : Exercice n°66,60 p173.
\n", "\n", "Théorème : Petit théorème de Fermat.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercices :\n", "Dans le manuel : Exercices n°48,49 p172.\n", "\n", "
\n", "Soit $n \\in \\mathbb{N}$.
\n", "\n", "
\n", "- Si $\\begin{Bmatrix} p \\text{ est un nombre premier} \\\\ p \\text{ ne divise pas } n \\end{Bmatrix}$ alors $n^{\\;p-1} \\equiv 1 \\;[p]$.
\n", "- Si $p$ est premier, alors $n^{\\;p} \\equiv n \\;[p]$
\n", "\n", " TP : Chiffrement RSA
\n", "\n", "[![RSA](img/mini_RSA.png)](https://mybinder.org/v2/gh/PythonLycee/PyLyc/master?filepath=Chiffrement_RSA.ipynb)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 }
\n", "