On parle de récursivité lorsqu'une fonction s'appelle elle même comme dans la fonction suivante qui calcule n!=1 x 2 x 3 x 4 x ... x (n-1) x n.
def factoriel(n) :
if n > 1 :
return n*factoriel(n-1)
else :
return 1
On parle de récursivité lorsqu'une fonction s'appelle elle même comme dans la fonction suivante qui calcule n!=1 x 2 x 3 x 4 x ... x (n-1) x n.
def factoriel(n) :
if n > 1 :
return n*factoriel(n-1)
else :
return 1
Ce type de programmation est très adapté au suites définies par récurrence. Par exemple, si l'on souhaite calculer le terme de rang n de la suite définie par :
def u(n) :
if n > 0 :
return 0.7*u(n-1)+8
else :
return 1
Cela marche aussi avec des suites récurrentes d'ordre 2 comme dans la suite de Fibonacci ou chaque terme est égale à la somme des deux termes précédents.
def fibonacci(n) :
if n > 1 :
return fibonacci(n-1) + fibonacci(n-2)
else :
return 1 # Les deux premiers termes étant tout deux égaux à 1