TD1 - IECL - Université de Lorraine

publicité
2016/2017
L3 Mathématiques
Algorithmique appliquée aux mathématiques
Université de Lorraine
Feuille de TD n◦1
Exercice 1.
Écrire un algorithme, que l'on notera DivEuc(a,b), qui à partir de deux entiers (a, b) ∈ N × N∗ ,
donne le quotient et le reste de la division euclidienne de a par b.
2. Pour (a, b) ∈ N × N∗ , on a l'algorithme suivant :
decDivEuc(a,b)
1.
u←0
v←a
tant que v > b faire
n←0
c←1
tant que 10n b 6 v
faire n ← n + 1
faire n ← n − 1
tant que 10n bc 6 v
faire c ← c + 1
faire c ← c − 1
u ← u + 10n c
v ← v − 10n bc
renvoyer (u, v)
Quel est le résultat que renvoie cet algorithme ? Justier.
Indication : Montrer qu'à chaque étape de la boucle indicée par v dans l'algorithme, la relation
a = bu + v est vraie (ce qu'on appelle un invariant de boucle).
Remarques.
L'algorithme précédent est celui utilisé par les élèves du primaire pour eectuer des divisions. Son
coût est moins important que celui du premier algorithme.
• Il existe encore un autre algorithme permettant la division euclidienne de a par b, appelé méthode
binaire (le premier étant appelé méthode naïve et le second la méthode décimale).
•
(Nombres de Fermat)
Soit m un entier impair. Montrer que ∀x ∈ R,
Exercice 2.
1.
xm + 1 = (x + 1)(xm−1 − xm−2 + . . . + 1).
2.
3.
Soit n ∈ N∗ . Montrer que si 2n + 1 est premier, alors n est une puissance de 2.
n
Pour n ∈ N, on pose Fn = 22 + 1. Montrer que les nombres {Fn }n sont premiers entre eux deux à
deux. En déduire une autre démonstration de l'innitude des nombres premiers.
Remarques.
Les Fn sont appelés les nombres de Fermat. Pour n ∈ J0; 3K, Fermat a montré que Fn est premier et
a conjecturé qu'il en était de même pour n > 5. Cependant, Euler a montré que F5 = 641 × 6700417,
et on ne connait aujourd'hui aucun autre Fn premier pour n > 5.
• Ces nombres ont une application en arithmétique modulaire. Ainsi, Gauss a prouvé le résultat suivant,
appelé théorème de Gauss-Wantzel : un polygone régulier à n côtés peut être construit à la règle et
au compas si et seulement si n = 2m ou le produit d'une puissance de 2 et de nombres premiers de
Fermat distincts.
•
2016/2017
L3 Mathématiques
Algorithmique appliquée aux mathématiques
Université de Lorraine
de numération)
On admet que, si on xe b > 2 un entier naturel, alors tout entier naturel n peut s'écrire de façon
unique sous la forme
Exercice 3.
(Bases
n = ak bk + ak−1 bk−1 + . . . + a1 b + a0 = ak ak−1 . . . a1 a0 b
où, ∀i ∈ J0; kK, ai ∈ J0; b − 1K. Les entiers ai sont appelés les chires de la base b.
Algorithmes
Donner une méthode pour calculer a0 , puis a1 , . . . , ak . En déduire un algorithme, que
P db(b, n), qui à partir de l'écriture en base décimale de n donne son écriture en base b.
2. Soit n ∈ N déni par son écriture en base b :
1.
l'on notera
n = ak ak−1 . . . a1 a0 b
Donner une méthode pour calculer l'écriture de cet entier en base décimale.. En déduire un algorithme, que l'on notera P bd(b, L) où L = [a0 , a1 , . . . , ak−1 , ak ], qui à partir de l'écriture en base b de
n donne son écriture en base décimale.
Applications
3.
4.
Donner l'écriture de n = 146554 en base 12.
Donner l'écriture décimale de n = 163567 .
Exercice 4.
Soit P = X n + c1 X n−1 + . . . + cn−1 X + cn ∈ Z[X]. Montrer qu'une racine rationnelle de P est
nécessairement entière.
Exercice 5.
Soit (un )n∈N la suite d'entiers dénie par u0 = 14 et un+1 = 5un − 6. Montrer que le PGCD de deux
termes consécutifs de la suite est constante. Précisez sa valeur.
Exercice 6.
On suppose qu'on dispose d'un algorithme de test de primalité TestPrim(n) qui renvoie vrai si n est
premier et faux sinon (il sut pour cela de modier légèrement l'algorithme 2 du cours). A partir de
cet algorithme, écrire un algorithme PreSui(n) qui, à partir d'un entier naturel n, renvoie le plus petit
nombre premier strictement supérieur à n.
Exercice 7.
P GCD(n2
Calculer, pour n ∈ N∗ :
•
+ n, 2n + 1)
• P GCD(15n2 + 8n + 6, 30n2 + 21n + 13)
(Nombres de Mersenne)
a > 2 et n > 2 deux entiers.
Exercice 8.
.
Soient
Montrer que si an − 1 est premier, alors a = 2 et n est premier.
Montrer que la réciproque est fausse.
Indication : Étudier le cas n = 11.
3. Soit p un nombre premier de la forme 4k + 3 où k ∈ N∗ . Montrer que 2(p−1)/2 ≡ (−1)k+1 [p].
Indication : On pourra poser N = 2(p−1)/2 (p − 1)/2 ! et donner deux écritures diérentes de N .
1.
2.
2016/2017
L3 Mathématiques
4.
Algorithmique appliquée aux mathématiques
Université de Lorraine
Soit Mp = 2p − 1 où p est un nombre premier. Montrer que si p est de la forme 4k + 3 et si 2p + 1
est premier, alors Mp n'est pas premier.
Il existe des tests pour déterminer si un nombre de Mersenne donné est premier. Le test
de Lucas-Lehmer utilise la suite (Ln ) dénie par récurrence par L0 = 4 et Ln+1 = L2n − 2.
Pour n > 3, le nombre Mn = 2n − 1 est premier si et seulement si Mn | Ln−2 .
Remarque.
Exercice 9.
Existe-t-il des entiers premiers à 0 ? Si oui, lesquels ?
Exercice 10.
Résoudre x2 + y2 = z 2 où (x, y, z) ∈ (N∗ )3 .
Pour cela on procédera d'abord en trois étapes :
• se ramener au cas où x, y et z sont premers entre eux eux à deux ;
• étudier la parité de ces entiers ;
• si x est pair, montrer que (z − y)/2 et (z + y)/2 sont des carrés.
Remarque.
On obtient ainsi ce qu'on appelle les triplets
pythagoriciens.
Téléchargement