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