Feuille d`exercices no 1 – Programmation

publicité
MPSI 1
Maple
2010-2011
Feuille d’exercices no 1 – Programmation
Exercice 1: Écrire un programme fact qui calcule n! en utilisant comme seule opération
algébrique la multiplication ∗.
Exercice 2: Écrire un programme somprem de variables p, q ∈ N∗ qui calcule la somme
des entiers premiers entre p et q. On pourra supposer que p 6 q.
Exercice 3: Écrire un programme somdiv qui calcule la somme des diviseurs de l’entier
n. Écrire ensuite un programme parfait qui répond true si n est parfait (i.e. égal à la moitié
de la somme de ses diviseurs) et false sinon.
Exercice 4: Un nombre plouton est un entier qui a strictement plus de diviseurs que
ses prédécesseurs. Écrire un programme plouton qui affiche la liste des entiers ploutons
inférieurs à N .
Exercice 5: Un diviseur d’un entier naturel a est propre s’il est différent de a. Un couple
d’entiers (a, b) est amiable si a est égal à la somme des diviseurs propres de b et b la somme
des diviseurs propres de a avec a et b distincts. Écrire un programme amiable d’argument
un entier N qui affiche l’ensemble des couples amiables (a, b) avec a < b 6 N où N est
donné.
Exercice 6: On rappelle que {} désigne l’ensemble vide. Écrire le 5 (version théorie des
ensembles) avec uniquement les symboles { et }.
Exercice 7: Écrire un programme palindrome qui détermine si un nombre est un palindrome en base 10. (Exemple : 1534351 est un palindrome car son écriture est symétrique.)
Exercice 8: Soit la suite (un )n définie par récurrence par u0 = α ; u1 = β et un+2 =
(1 + un+1 )/un . Déterminer la liste des 20 premiers termes de la suite.
Exercice 9: La suite de Fibonacci est la suite définie par récurrence par F0 = 0, F1 = 1
et Fn+2 = Fn+1 + Fn pour n > 0. Déterminer le premier terme de la suite de Fibonacci
plus grand que 10000.
Exercice 10: Écrire un programme deux_carres qui renvoie la liste des nombres premiers
6 N somme de deux carrés d’entiers. Comparer avec la liste des nombres premiers congrus
à 1 modulo 4.
Exercice 11: Un triplet pythagoricien est un triplet d’entiers strictement positifs (n, p, q)
tels que n2 + p2 = q 2 . Écrire un programme triplets_pyth qui renvoie la liste des triplets
pythagoriciens (n, p, q) avec n 6 p 6 q dont l’hypothénuse q est inférieure ou égale à N .
Exercice 12: [Le problème de Flavius Josephus]
On dispose les n entiers 1, 2, . . . , n en cercle. On en raye un sur deux en commençant
par le 2. On note J(n) le dernier rayé. Par exemple, J(4) = 1 et J(5) = 3. Écrire un
programme Joseph qui renvoie J(n).
Exercice 13: Un entier est quadratfrei s’il n’est divisible par aucun carré autre que 1.
Écrire un programme quadratfrei qui renvoie la liste des entiers quadratfrei 6 N .
1
Téléchargement