LICENCE MATH ´
EMATIQUES 2`
EME ANN ´
EE IS4 – 2008 – 2009
PROJET 2
EXERCICE 1.On consid`
ere Z258 ={0,1,...,257}. On note par ala classe d’´
equivalence de adans Z258, c’est `
a dire,
a={x∈Z|x≡a(mod258)}={x∈Z|le reste de la division de xpar 258 est ´
egal `
aa}. Par exemple, 258 =0, 259 =1,
832 =58, etc. Pour chaque a∈Z258, on d´
efinit fa:Z258 →Z258 par fa(x) = ax.
(1) D´
eterminer tous les ´
el´
ements a∈Z258 pour lesquels faest surjective. D´
eterminer tous les ´
el´
ements a∈Z258
pour lesquels faest bijective.
(2) D´
eterminer tous les couples [a,b]tels que fa◦fb=fb◦fa=IdZ258 . Tracer ces points sur un mˆ
eme graphique.
EXERCICE 2.´
Ecrire un proc´
edure qui rec¸oit un entier positif net qui envoie la liste des ´
el´
ements a∈Zntels que faest
bijective. Essayez avec n=303.
EXERCICE 3.´
Ecrire un proc´
edure qui rec¸oit un entier positif net qui envoie la liste des couples [a,b]tels que fa◦fb=
fb◦fa=IdZn. Essayez avec n=303. Tracer le graphique avec ces points (comme ci-dessus).
EXERCICE 4.Voici un message cod´
e :
[233, 164, 160, 72, 130, 233, 302, 279, 118, 130, 283, 279, 49, 130, 22, 68, 302, 91, 22, 72, 68]
Pour le coder, on a transform´
e le message original en une liste Lde nombres. Ensuite, on a choisit un ´
el´
ement a∈Z303
tel que fasoit bijective. Finalement, on a appliqu´
efa`
a la liste L. Quel est le message ?
Maintenant, on consid`
ere le probl`
eme suivant : ´
etant donn´
es deux entiers positifs non-nuls aet b, on cherche `
a
calculer leur plus grand diviseur commun pgcd(a,b). Dans ce but, nous allons utiliser l’algorithme d’Euclide :
Th´
eor`
eme 1 :
Soient a et b ∈Navec a >b>0. Alors il existe r0,r1,...,r`+1et q1,...,q`avec ` > 0tels que r0=a, r1=b, pour
1≤i≤`−1, ri−1=riqi+ri+1avec 0<ri+1<riet r`−1=r`q`avec r`+1=0. On a r`=pgcd(a,b).
EXERCICE 5.´
Ecrire une proc´
edure eucl sur Maple qui calcule le pgcd de aet bpositifs non-nuls donn´
es, en utilisant
le Th´
eor`
eme 1.
Une version alternative est donn´
ee par l’algorithme suivant o`
u l’on effectue uniquement des divisions et multipli-
cations par 2 (donc moins coˆ
uteuse). On l’appellera l’algorithme binaire pour le pgcd.
r←a, r’ ←b,s←0
while (2|r and 2|r’) do (r,r’,s) ←(r/2, r’/2, s+1)
repeat
while 2|r do r ←r/2
while 2|r’ do r’ ←r’/2
if r’ < r then (r,r’) ←(r’,r)
r’ ←r’ - r
until r’ = 0
d←r 2s
1