Informatică Programare

Exercitii rezolvate cu functii recursive in C++

Funcțiile recursive în C++ sunt funcții care se autoapelează pentru a rezolva probleme prin împărțirea lor în subprobleme mai mici. Ele necesită un caz de bază care oprește recursivitatea și un caz recursiv care reduce problema. Iată exerciții rezolvate care ilustrează acest concept.

Exercițiu 1: Calculul factorialului

  1. 1
    Enunț Scrie o funcție recursivă care calculează n! (factorialul lui n), unde n! = n * (n-1)! și 0! = 1.
  2. 2
    Rezolvare int factorial(int n) { if (n == 0) return 1; else return n * factorial(n-1); }
  3. 3
    Exemplu numeric Pentru n=3: factorial(3) = 3 * factorial(2) = 3 * 2 * factorial(1) = 3 * 2 * 1 * factorial(0) = 6.

Exercițiu 2: Suma cifrelor unui număr

  1. 1
    Enunț Scrie o funcție recursivă care calculează suma cifrelor unui număr întreg pozitiv.
  2. 2
    Rezolvare int suma_cifre(int n) { if (n == 0) return 0; else return (n % 10) + suma_cifre(n / 10); }
  3. 3
    Exemplu numeric Pentru n=123: suma_cifre(123) = 3 + suma_cifre(12) = 3 + 2 + suma_cifre(1) = 3 + 2 + 1 + suma_cifre(0) = 6.

Asigură-te că cazul de bază este bine definit pentru a preveni recursivitatea infinită.

Mai multe din Programare