Académique Documents
Professionnel Documents
Culture Documents
Matière : Informatique
Ecole Supérieure des Sciences
Niveau : PC 1 / MP1
et des Technologies de Hammam Sousse
A.U. : 2023/2024
Département Electronique et Informatique
TD : La récursivité en Python
Exercice 1
Ecrire une fonction récursive pgcd_rec qui calcule le pgcd de deux entiers positifs x et yen se
basant sur l'algorithme d'Euclide :
𝑝𝑔𝑐𝑑(𝑎, 𝑏) = 𝑎 𝑠𝑖 𝑎 = 𝑏
𝑝𝑔𝑐𝑑(𝑎, 𝑏) = 𝑝𝑔𝑐𝑑(𝑎 − 𝑏, 𝑎)𝑠𝑖 𝑎 > 𝑏
𝑝𝑔𝑐𝑑(𝑎, 𝑏) = 𝑝𝑔𝑐𝑑(𝑎, 𝑏 − 𝑎)𝑠𝑖 𝑏 > 𝑎
Exercice 2
Ecrire une fonction récursive somme_rec qui calcule la somme des n premiers carrés.
Exercice 3
Ecrire un programme récursif somme_chiff_rec qui calcule la somme des chiffres d'un entier
positif passé en paramètre.
Exercice 4
𝒑
Ecrire une fonction récursive comb_rec permettant de calculer les combinaisons 𝑪𝒏 en se
servant de la relation suivante :
1 𝑠𝑖 𝑝 = 0 𝑜𝑢 𝑝 = 𝑛
𝐶 =
𝐶 + 𝐶 𝑠𝑖𝑛𝑜𝑛
Exercice 5 :
On considère la suite définie par :
𝑢 =2
1 2
𝑢 = 𝑢 +
2 𝑢
Ecrire deux fonctions récursives suite_rec1 et suite_rec2 permettant de calculer 𝒖𝒏
Exercice 6
Ecrire une fonction récursive hornerrec(a,x) qui permet de calculer la valeur d’un polynôme
suivant l’algorithme de Hôrner.
A étant une liste composée par les n coefficients.
𝑃(𝑥) = 𝑎 + 𝑎 𝑥 + ⋯ + 𝑎 𝑥 = 𝑎 + 𝑥 𝑎 + 𝑥 𝑎 + 𝑥 𝑎 + ⋯ + 𝑥(𝑎 + 𝑎 𝑥)
Page 1
Exercice 7
Soit la fonction MystereRec(L, k) suivante où L est une liste d'entiers non vide et k tel que
0 ≤ k <len(L).
def MystereRec(L,k) :
if k == len(L)-1:
return True
else:
if L[k] > L[k+1]:
return False
else:
return MystereRec(L,k+1)
Page 2