• Aucun résultat trouvé

CT 2015/1

N/A
N/A
Protected

Academic year: 2022

Partager "CT 2015/1"

Copied!
2
0
0

Texte intégral

(1)

Preuve et Analyse des Algorithmes

14:00–16:00

aucun document autoris´ e

 janvier 

1 Stabilit´ e d’un algorithme de tri

Un algorithme de tri qui compare et d´eplace les ´el´ements d’un tableau est dit stable s’il ne change pas l’ordre relatif de deux ´el´ements ´egaux pour la cl´e de tri consid´er´ee.

Autrement dit, si t[i] =t[j] pour deux indicesi < j `a l’entr´ee de l’algorithme de tri, alors la position finale de l’´el´ement t[i] est inf´erieure `a celle de t[j].

1. Donner un exemple d’algorithme de tri stable.

2. Compl´eter la ligne 10 de la coupure de Lomuto.

3. Etudier la stabilit´e du tri bas´e sur Lomuto.

2 R´ esidu primitif

Soit m un nombre premier. On appelle r´esidu modulo m tout entier naturel inf´erieur

`

a m. Pour tout entier naturel z, il existe un et un seul r´esidu, que nous noterons [z]m, tel que

∃q ∈N, z =qm+ [z]m (1)

On rappelle que la multiplication modulaire (x, y)7→x⊗y:= [xy]m d´efinit un op´erateur binaire associatif sur les r´esidus modulom. Un r´esidug est dit primitif modulom si pour tout r´esidu non nuly modulom, il existe un entierk tel quey= [gk]m, on dit alors que k est le logarithme `a baseg dey. Un r´esultat classique de la th´eorie des nombres, que nous admettrons, affirme que tout nombre premier m admet au moins un ´el´ement primitif.

1. Quelle notion math´ematique permet d’affirmer l’existence et l’unicit´e du r´esidu d´ecrit dans la relation (1).

2. Quels sont les r´esidus primitifs modulo 7 ?

1 p r o c e d u r e s p l i t ( x , l e f t , r i g h t , i )

2 T := x [ l e f t ] ;

3 i := l e f t ;

4 f o r j := l e f t + 1 t o r i g h t do

5 i f x [ j ] < T t h e n

6 i := i + 1

7 swap ( x [ i ] , x [ j ] )

8 f i

9 done

10 // ? ? ?

11 end . {s p l i t}

Lomuto

1

(2)

1 char val( ullong z )

2 {

3 int r = 0;

4 while ( ... ) {

5 ...

6 ...

7 }

8 return r;

9 }

3. Montrer que sixest un r´esidu quelconque alors il existe deux entiersi < j tel que [xi]m = [xj]m, sans quem ne soit n´ecessairement premier.

4. Montrer que si x est un r´esidu non nul (m premier) alors il existe un entier k >0 tel que [xk]m = 1.

5. Montrer queg est primitif si et seulement si

∀k, 0< k < m−1 =⇒ [gk]m 6= 1.

6. Ecrire une fonctionprimitif(int m) qui renvoie le plus petit r´esidu primitif mod- ulo m.

7. Ecrire une fonctionint dl (int y, int g, int m) qui d´etermine le logarithme dey en base g sachant que g est primitif modulo m.

8. Pr´eciser le temps de calcul moyen.

3 Logarithme des mots de poids 1

Un mot binaire de poids 1, s’´ecrit 2v pour un certainv. Dans cet exercice, on s’int´eresse aux fonctions ´ecrites en Langage C qui d´eterminent l’entierv pour des entiers de 64 bits mais de poids 1.

1. Donner un exemple de contexte d’utilisation.

2. Compl´eter la fonctionchar val(ullong z)en privil´egiant l’utilisation des op´erateurs bit-`a-bit du Langage C.

3. Le type de retour de la fonctionvalest-il correct ? 4. Pr´eciser les temps de calcul.

5. Ecrire une fonction int log(ullong z) plus efficace.

6. Pr´eciser le temps de calcul.

7. D´ecrire une solution bas´ee sur le fait que 2 est primitif modulo 67.

2

Références

Documents relatifs

4) Déterminer le plus petit entier p tel que le nombre pa soit un carré parfait. 5) Déterminer le plus petit entier q tel que le nombre qb soit un cube parfait.. Exercice

Parmi les sous-problèmes non encore élagués, choisir celui qui a été créé le plus récemment (s’il y a égalité, choisir celui de plus grande borne supérieure).. Brancher sur

Solution : On peut imaginer utiliser le bit de poids fort comme bit de signe, puis m bits pour le num´ erateur (en tant qu’entier naturel) et n bits pour le d´ enominateur (en

Combien de nombres entiers naturels peut-on repr´ esenter en binaire sur n bits?. Quel est le plus petit entier relatif codable sur

EXAMEN DE MATHEMATIQUES du 13/01/10 (14h-17h) Tout résultat doit être justifié rigoureusement. Il faut faire des efforts de présentation et souligner vos réponses. Les documents

Année universitaire 2011-2012 Licence 3 de mathématiques. Algorithmique algébrique 1 -

[r]

Ecrire une fonction ´ chercher qui prend en argument une liste et un nombre et renvoie l’indice de la premi` ere occurrence de ce nombre dans la liste s’il existe et