Matematică și Informatica .jpg)
Recursivitatea este un mecanism general de elaborare a algoritmilor. O funcție se numește recursivă daca ea se autoapelează, fie direct (în definiția ei, se face apel la ea însăși), fie indirect (funcția X apelează funcția Y, care apelează funcția X).
Recursivitatea a aparut din necesități practice date de transcrierea directă a formulelor matematice recursive. Apoi, acest mecanism a fost extins, fiind utilizat în elaborarea multor algoritmi.
Exemple de șiruri recurente:
– progresie aritmetica: x0= a , xn= xn-1 + p, pentru n>0
–sirul lui Fibonacci: F0=1, F1=1, Fn= Fn-1 + Fn-2 pentru n>1
Algoritmi matematici recursivi:
Definiția recursivă a lui n ! este : Funcția recursivă se va scrie astfel:
int factl(int n)
{ if(n==0)
return 1;
else
return factl(n-1)*n; }
Suma cifrelor unui număr : Funcția recursivă se va scrie astfel:
int suma (int n)
{ if (n!=0)
return n%10+suma(n/10);
else
return 0; }
Al n-lea termen din șirul lui Fibonacci : Funcția recursivă se va scrie astfel:
unsigned int fibonacci(unsigned n)
{ if(n>2)
return fibonacci(n-1)+fibonacci(n-2);
else
return 1; }
Fizică
.jpg)

