2
2. ARITHM ´
ETIQUE SUR LES ENTIERS
On commence par charger la biblioth`
eque numtheory :with(numtheory).
Les commandes iquo et irem sont les analogues des commandes quo et rem pour les entiers. La syntaxe est
iquo(a,b) ou irem(a,b).
La commande a mod n retourne la classe d’´
equivalence de l’entier amodulo l’entier positif n.
La commande isprime(a) v´
erifie si le nombre entier aest premier et la commande gcd(a,b) (resp. lcm(a,b))
calcule le pgcd (resp. ppcm) de aet de b. La commande divisors(a) calcule tous les diviseurs de l’entier a.
EXERCICE 3.
(1) Combien 15! admet-il de diviseurs ?
(2) Trouver le reste de la division par 13 du nombre 1001000.
(3) ´
Ecrire une boucle (avec while) pour d´
eterminer le 700-`
eme nombre premier.
(4) ´
Ecrire une boucle (avec while) pour d´
eterminer le premier nombre premier qui succ`
ede `
a 40000.
EXERCICE 4.Soit a=1049427 et b=17493.
(1) Trouver le pgcd gde aet b. Ce pgcd est-il premier ? Si ce pgcd n’est pas premier, trouver la liste de ses diviseurs.
(2) D´
ecomposition en facteurs premiers :
(a) Soit n∈N.´
Ecrire une proc´
edure listttepre qui calcule la liste de diviseur de n, et qui ensuite pour
chacun des diviseurs premiers pide n, calcule la plus grand puissance νide piqui divise n. Les r´
esultats
doivent ˆ
etre envoy´
es sous la forme d’une liste
[[p1,ν1],[p2,ν2],...,[pn,νn]].
Par exemple, listepre(6) donne [[3,1],[2,1]].
(b) Appliquer listepre sur a,bet g.
(3) On rappelle que ab =pgcd(a,b)ppcm(a,b). D´
eterminer `
a partir de la question pr´
ec´
edente la d´
ecomposition en
facteurs premiers du ppcm de aet de b: faire la fusion des deux listes listepre(a) et listepre(b) et en
extraire la liste listepre(g) (on pourra utiliser les commandes member et subsop pour les listes). V´
erifier
le r´
esultat obtenu en calculant le ppcm de aet de bavec lcm.
EXERCICE 5.Calculer la plus grande puissance de 10 qui divise 2000!.
EXERCICE 6.Un nombre est dit parfait s’il est ´
egal `
a la somme de ses diviseurs propres. Par exemple, 6 est parfait
(car 6 =1+2+3).
(1) ´
Ecrire une proc´
edure qui prend en argument un entier net qui retourne ”vrai” si nest parfait et ”faux” sinon.
(2) En d´
eduire la liste des nombres parfaits inf´
erieurs `
a 10000.
EXERCICE 7.On cherche la d´
ecomposition en base 2 d’un entier n. Le principe est tr`
es simple. On effectue la division
enti`
ere de npar 2. On trouve un quotient q0et un reste r0. On recommence avec q0: on effectue la division enti`
ere de q0
par 2. On trouve un quotient q1et un reste r1. On construit ainsi une suite de restes (r0,r1,r2,...). On arrˆ
ete le processus
d`
es que l’on trouve un quotient qk´
egal `
a 0. La d´
ecomposition de nen base 2 est alors (r0,r1,...,rk).
´
Ecrire une proc´
edure base2 qui rec¸oit un entier net qui retourne sa d´
ecomposition en base 2 en forme [r0,r1,...,rk].
Par exemple, base2(10); retourne [1,0,1,0].