Arithmétique avec Python

Exercice 1.
On se propose d’écrire plusieurs fonctions calculant le pgcd de deux entiers avec l’algorithme d’Euclide.

  • Écrire une fonction itérative pgcd1.
  • Modifier pgcd1 en une fonction pgcd2 renvoyant non seulement le pcgd, mais aussi la description des étapes de l’algorithme d’Euclide.
  • Écrire une fonction récursive pgcd3.

Exercice 2.
Écrire une fonction Python diviseurs renvoyant la liste des diviseurs d’un entier {n\ge0}. Avec la fonction pgcd1 de l’exercice précédent, vérifier que les diviseurs communs à 210 et à 330 sont bien les diviseurs de leur pgcd.

Exercice 3.
Programmer une fonction récursive renvoyant un couple {(u,v)} de coefficients de Bezout de deux entiers {a,b} (donc tels que {au+bv=a\wedge b}).

Exercice 4.
Programmer une fonction itérative renvoyant un couple {(u,v)} de coefficients de Bezout de deux entiers {a,b} (donc tels que {au+bv=a\wedge b}).

Exercice 5.
Former la liste {m_{12}} des cinquante premiers multiples de l’entier {12} dans {\mathbb{N}^{*}}, puis la liste {m_{15}} des cinquante premiers multiples de l’entier {15} dans {\mathbb{N}^{*}}.

Former l’intersection ordonnée de ces deux listes. Constater que le plus petit d’entre eux est l’entier {60} (donc {12\vee15=60}), et qu’il est effectivement un diviseur de tous les entiers de cette liste.

Exercice 6.
Écrire une fonction Python renvoyant le ppcm de deux entiers.

Exercice 7.
Écrire des fonctions Python permettant de calculer le pgcd ou le ppcm d’une liste d’entiers (indication : la fonction reduce du module functools).

Author: Jean-Michel Ferrard

Professeur de mathématiques en classe préparatoire aux grandes écoles.