Préparation à l'agrégation Année universitaire 2008-2009 Option calcul formel Feuille de TP numéro 2 : algorithme d'Euclide Exercice 1 : Ecrire deux procédures de calcul de pgcd, une itérative, c'est à dire avec une boucle pour ou tant que une récursive, c'est à dire qui s'appelle elle même en utilisant la relation pgcd(a, b) = pgcd(b, a mod b). Exercice 2 : Tirer deux nombres de 30000 chires au hasard (fonction rand de maple). Calculer leur pgcd à l'aide des procédures précédentes. Que constate t'on ? Comparer les temps de calcul avec la fonction déjà implémentée dans Maple. Trouver la fonction Maple qui permet de trouver également les coecients de Bezout associés à ces deux grands nombres (les exemples et la rubrique "See Also" sont très utiles dans l'aide de Maple). Exercice 3 : Écrire un programme maple inv qui prend en entrée deux entiers positifs a et n et rend en sortie l'inverse de a modulo n s'il existe et false sinon. Exercice 4 : Soit f la fonction qui à x, y entiers tels que 1 ≤ y ≤ x associe le nombre de divisions euclidiennes eectuées dans le calcul du pgcd de x et y par l'algorithme d'Euclide et soit g la fonction dénie par g(x) = max{f (x, y), 1 ≤ y ≤ x} Le but de cet exercice est de vérier graphiquement que pour x entier √ 1+ 5 1 ln(x) où α = g(x) ≤ ln(α) 2 Modier la procédure de l'exercice pour y intégrer le calcul de la fonction f . Calculer f (34, 3), f (34, 15), f (34, 21). Écrire une procédure maple pour le calcul de la fonction g . Calculer g(3), g(5), g(8), g(13), g(21), g(34). A l'aide de la commande plot, dessiner les points (x, g(x)) pour 2 ≤ x ≤ 30. 1 Intégrer au graphe précédent le graphe de la fonction qui à x associe ln(α) ln(x) Exercice 5 : Écrire un programme maple BezoutGeneral qui prend en entrée une liste de n entiers [a1 , . . . , an ] et rend en sortie la liste [d, t1 , . . . , tn ] où d = pgcd(a1 , . . . , an ) = t1 a1 + · · · + tn an . Exercice 6 : Écrire une procédure maple chinois2 prenant quatre arguments a, b, m et n et qui renvoie false si m et n ne sont pas premiers entre eux, et sinon, renvoie un entier congru à a modulo m et à b modulo n. Exercice 7 : Implémenter une fonction chinois prenant en argument deux tableaux d'entiers de même taille [a1 , . . . , ak ] et [n1 , . . . , nk ] et renvoyant false si les ni ne sont pas premiers entre eux deux-à-deux et un entier congru à ai modulo ni pour tout i sinon.