Vous êtes sur la page 1sur 1

CPGE Fès MPSI-PCSI

Série d’exercices N°5 : La récursivité


Exercice 1
Écrire la fonction récursive Affichage(N) qui permet d’afficher toutes les valeurs entières entre 0 et N .
Exercice 2
Écrire la fonction récursive fact(n) qui permet, à partir d’un entier n, de retourner la factorielle de cet entier.

Exercice 3
Écrire une fonction récursive puissance(x,n) qui retourne la valeur (xn ) avec x un nombre réel et n est
un entier.

Exercice 4
Écrire une fonction récursive bin(n) qui permet d’afficher la forme binaire d’un entier n.

Exercice 5
Écrire la fonction somme Chiffres(n) qui admet comme paramètre un entier, puis retourne la somme de
ses chiffres.
Exemple :
somme Chiffres(347) renvoie 14.

Exercice 6
Le mathématicien italien Léonardo Fibonacci s’est posé le problème de savoir combien de couples de
lapins seraient engendrés au bout de N périodes de reproduction. Il supposa pour cela que chaque couple
peut engendrer un nouveau couple à partir de la deuxième génération. On suppose que nul animal n’est
supposé mourir pendant la période étudiée.
F0 = 0 et F1 = 1
Fn = Fn−1 + Fn−2 pour n >= 2
Écrire une fonction récursive fibonacci(n) qui calcule et affiche le nombre représentant la population de la
nème génération.

Exercice 7
On souhaite écrire une fonction récursive qui calcule le carré d’un entier. Pour trouver un lien entre carre(n)
et carre(n-1), on utilise la formule :
(n + 1)2 = n2 + 2n + 1
En changeant n en n-1, la formule se réécrit :
n2 = (n − 1)2 + 2(n − 1) + 1. Ou encore : n2 = (n − 1)2 + 2n − 1.
Dans le cas où n est un entier négatif, on utilise le fait que (−n)2 = n2 . On se ramène ainsi au cas où n est
un entier positif. Les appels récursifs successifs nous mènent au cas de base : carre(n)=0.
Écrire la fonction récursive carre(n) qui retourne le carré d’un entier n.

Exercice 8
Écrire la fonction récursive PGCD Euclide(a,b) qui permet de calculer le PGCD de deux entiers a et b
en se basant sur l’algorithme d’Euclide comme illustré dans la série d’exercices 4.

Exercice 9
On souhaite écrire une fonction récursive est symetrique(L) qui vérifie si la liste L est symétrique ou non.
Exemple :
>>> L = [2, 4, 3, 4, 2]
>>> print(est symetrique(L))
>>> True
Pour cela, si la liste est vide ou elle contient un seul élément, alors elle est symétrique, sinon si ses deux
extrémités (gauche et droit) sont égaux on teste à nouveau la symétrie de la liste en éliminant les deux
extrémités. Dans le cas contraire la liste n’est symétrique.
Question : En utilisant le principe de la récursivité, écrire une fonction booléenne qui admet comme pa-
ramètre une liste quelconque, puis teste si cette liste est symétrique ou non.

Prof Machhour.N 1 La récursivité

Vous aimerez peut-être aussi