Les fonctions récursives

Exercices ou programmes  corrigés (avec solution) sur la création et l’appels des fonctions récursive avec le langage de programmation Python. Chaque solution/correction est enrichi par des commentaire explicatif pour rendre la correction plus claire.




Factorielle avec récursivité

Fonction Python récursive Factorielle(n) qui retourne la factorielle d'un entier positif n passé en paramétré.


Fibonacci avec récursivité

Fonction Python récursive Fibonacci(n) qui affiche le termed'indice n, n un entier positif passé en paramètre.

La suite de Fibonacci est définie comme suite:

F0   = 0
F1   = 1
Fn+2 = Fn+1  +  Fn


PGCD avec récursivité : Méthode d'Euclide

Fonction Python récursive PGCD(a,b) qui retourne le pgcd (le plus grand commun diviseur) de deux entiers positifs a et b passés en paramètre, sachant que:

  • pgcd(a,b) = a  si a=b
  • pgcd(a,b) = pgcd(a-b,b)  si a>b
  • pgcd(a,b) = pgcd(a,b-a)  si a<b


Reste de la division entière avec récursivité

Fonction Python récursive Reste(a,b) qui retourne le reste de la division entière de a sur b, a et b deux entiers positifs passés en paramètres.


Le quotient de la division entière avec récursivité

Fonction Python récursive quotient(a,b) qui retourne le quotient de a sur b, a entier positif et b entier positif non nul saisis par l'utilisateur.


puissance rapide avec récursivité

Fonction Python récursive puissance_rapide(x,n) qui retourne xn, x est un réel et n un entier positif passés en paramètre, sachant que:

  • xn = 1 si n = 0
  • xn = (xn/2)2  si n est paire
  • xn = (xn-1.x si n est impaire


Coefficient binomial avec récursivité

Fonction Python récursive Binomial(n,k) permettant de calculer le coefficient binomial C(n,k) , où n et k sont des entiers naturels passés en paramètres.

C(n,k) = 1   Si k=0  ou  k=n
C(n,k) = C(n-1 , k) + C(n-1 , k-1)   Si  0 < k < n
C(n,k= = 0    Sinon


Sommation avec récursivité

Fonction Python récursive sommation(n) qui calcule la somme des inverses des carrés des n premiers entiers naturels non nuls, n est passé en paramètre.

Sn=∑ (1/i2)
i varie de 1 jusqu'à n


Entrée positif

Fonction Python récursive entree_positif() qui impose à l'utilisateur de saisir un entier positif.

On redemande à l'utilisateur un autre entier si l'entier saisi est négatif.



Calcul sur les suites avec récursivité

Fonction Python récursive U(n) qui retourne Un avec n un entier positif passé en paramètre.

Un est définie par:

U0=5
Un=√(1 + Un)