Exercices

I] Fonction indicatrice d'Euler

Soit nNn\in\mathbb{N}^*, on appelle indicatrice d'Euler de nn, et on note φ(n)\varphi(n), le nombre d'entiers entre 11 et nn qui sont premiers avec nn.

pP,φ(p)=p1\forall p\in\mathbb{P}, \varphi(p)=p-1

On voit en exercice comment calculer φ(n)\varphi(n) à l'aide de la décomposition en facteurs premiers ; φ\varphi fait partie des fonctions multiplicatives.

II] Un théorème d'Euler

Théorème (Euler) : (admis) Soit aZa\in\mathbb{Z}, et nNn\in\mathbb{N}^*, alors :
PGCD(a,n)=1    aφ(n)1(modn)\text{PGCD}(a, n) = 1 \iff a^{\varphi(n)}\equiv 1 \pmod n

En particulier, si aa est inversible modulo nn, un inverse modulo nn de aa est aφ(n)1a^{\varphi(n)-1}. Ce qui fournit une nouvelle méthode pour l'inversion modulaire. Avec Python on utilisera la fonction pow pour avoir un résultat rapidement.

Théorème (Fermat) : (Cas particulier du théorème d'Euler) Soit aZa\in\mathbb{Z}, et pPp\in\mathbb{P}, alors :
PGCD(a,p)=1    ap11(modp)\text{PGCD}(a, p) = 1 \iff a^{p-1}\equiv 1 \pmod p

Remarque 1

Si pPp\in\mathbb{P} et PGCD(a,p)1\text{PGCD}(a, p) \neq 1, alors pp divise aa, on a a0(modp)a\equiv 0 \pmod p, et donc :
ana(modp)a^n\equiv a \pmod p
Cette égalité est valable pour tout nombre premier pp et tout entier aa inversible ou non modulo pp.

Remarque 2

Ce théorème de Fermat est à la base d'un test de primalité.

Exercices

Exercice 0

  1. Prouver que pour tout entier kk, 2k+12k+1 et 9k+49k+4 sont premiers entre eux.
  2. En est-il de même avec 2k12k-1 et 9k+49k+4.

Exercice 1 - L'indicatrice d'Euler

La fonction φ\varphi d'Euler est définie sur N\mathbb{N}^* par :
φ(n)\varphi(n) est égal au nombre de d'entier mm premiers avec nn pour m[1..n]m\in [1..n]

Par exemple : φ(8)=4\varphi(8) = 4 car parmi les nombres de 11 à 88, seuls les quatre nombres 11, 33, 55 et 77 sont premiers avec 88.

  1. Faire un premier script avec une fonction totient pour l'indicatrice d'Euler.
  2. Vérifier que pour 1<u<v<1001<u<v<100, avec uv=1u\land v = 1, on a φ(u)×φ(v)=φ(uv)\varphi(u)\times \varphi(v) = \varphi(uv)

Remarque : Cette propriété est vraie au-delà de 100, et de telles fonctions sont dites multiplicatives.

  1. Prouver cette propriété pour uu et vv des nombres premiers distincts.
  2. Quelle est la valeur de φ(p)\varphi(p) pour pp premier ?
  3. Montrer que φ(pn)=pn1(p1)\varphi(p^n) = p^{n-1}(p-1) pour pp premier et n>0n>0 ?
  4. Faire un nouveau script pour totient qui utilise la décomposition en facteurs premiers.

Exercice 2

  1. Si n=pen = p^e, avec pPp\in \mathbb{P}, et eNe\in \mathbb{N}, alors :
    1. Les diviseurs de nn sont : (1,p,p2,,pe)(1,p, p^2, \cdots, p^e), il y en a e+1e+1.
    2. La somme de ces diviseurs est 1+p+p2++pe1+p+p^2+\cdots+p^e.

Faire un script avec une fonction sommeDivPE(p, e) qui renvoie la somme des diviseurs de n=pen=p^e quand pp est premier.

    1. Si n=p1e1×p2e2××pkekn = p_{1}^{e_1} \times p_{2}^{e_2} \times \cdots \times p_{k}^{e_k} est la décomposition en facteurs premiers de n>1n>1, alors la somme des diviseurs de nn est égale au produit de la somme des diviseurs de chaque pieip_{i}^{e_i}.
    2. 11 est le seul diviseur de 11.
    3. Tous les entiers sont diviseurs de 00, mais on dira que leur somme est nulle (même si c'est faux).

Faire un script avec une fonction sumDiv(n) qui renvoie la somme des diviseurs de n0n\geqslant 0. Commencer par une version en force brute.

  1. On sait que n=paqbn=p^aq^b, avec pp et qq premiers distincts, et a>0a>0, b>0b>0.
    On sait que n2n^2 possède 8181 diviseurs. Combien n3n^3 a-t-il de diviseurs ?
  2. Soit pp un nombre premier tel que 2p12^p-1 soit premier. On pose n=(2p1)×2p1n = (2^p-1)\times2^{p-1}.
    Prouver que la somme des diviseurs de nn est égale à 2n2n.