Informatică Programare

Recursivitate in C++ exemple bacalaureat

Recursivitatea în C++ este o tehnică în care o funcție se autoapelează pentru a rezolva o problemă prin subprobleme mai mici. Este frecventă la bacalaureat în exerciții cu șiruri sau arbori.

Exemplu: Calcul factorial

  1. 1
    Pasul 1: Definire funcție int fact(int n) { if(n <= 1) return 1; else return n * fact(n-1); }
  2. 2
    Pasul 2: Apelare fact(5) returnează 120 (5*4*3*2*1).
  3. 3
    Pasul 3: Condiție de oprire if(n <= 1) asigură că recursivitatea se termină.

Exemplu: Suma elementelor unui vector

  1. 1
    Pasul 1: Funcție recursivă int suma(int v[], int n) { if(n == 0) return 0; else return v[n-1] + suma(v, n-1); }
  2. 2
    Pasul 2: Date de intrare Fie v = {1, 2, 3} și n = 3.
  3. 3
    Pasul 3: Calcul suma(v, 3) = 3 + suma(v, 2) = 3 + 2 + suma(v, 1) = 3 + 2 + 1 + suma(v, 0) = 6.

Asigură-te că recursivitatea are o condiție de oprire pentru a evita bucla infinită.

Mai multe din Programare