Informatică Programare

Exercitii rezolvate recursivitate bacalaureat

Exercițiile de recursivitate la bacalaureat implică probleme care se rezolvă prin autoapeluri, cum ar fi calculul sumei cifrelor sau generarea de șiruri. Iată două exerciții rezolvate pas cu pas.

Exercițiul 1: Suma cifrelor unui număr

  1. 1
    Enunț Scrieți o funcție recursivă care calculează suma cifrelor unui număr întreg n.
  2. 2
    Rezolvare Cazul de bază: dacă n==0, return 0. Cazul recursiv: return n%10 + sumaCifre(n/10).
  3. 3
    Cod C++ int sumaCifre(int n) { if(n==0) return 0; return n%10 + sumaCifre(n/10); }
  4. 4
    Exemplu numeric Pentru n=123: sumaCifre(123) = 3 + sumaCifre(12) = 3 + 2 + sumaCifre(1) = 3+2+1+sumaCifre(0) = 6.

Exercițiul 2: Șirul lui Fibonacci

  1. 1
    Enunț Scrieți o funcție recursivă care returnează al n-lea termen din șirul Fibonacci.
  2. 2
    Rezolvare Cazul de bază: dacă n==0 return 0, dacă n==1 return 1. Cazul recursiv: return fib(n-1) + fib(n-2).
  3. 3
    Cod C++ int fib(int n) { if(n==0) return 0; if(n==1) return 1; return fib(n-1) + fib(n-2); }
  4. 4
    Exemplu numeric Pentru n=5: fib(5) = fib(4)+fib(3) = (fib(3)+fib(2)) + (fib(2)+fib(1)) = ... = 5.

Verifică corectitudinea pe cazuri mici înainte de a generaliza.

Mai multe din Programare