Explicați conceptul de recursivitate în programarea pe calculator și dați un exemplu simplu în Python.
Recursivitatea este o tehnică de programare în care o funcție se numește pentru a rezolva o problemă. Acest lucru este util mai ales atunci când problema poate fi împărțită în subprobleme mai mici, similare. În recursivitate, există de obicei un caz de bază care termină apelurile recursive, pentru a preveni buclele infinite. Un exemplu în Python este o funcție pentru a calcula factorialul unui număr:

factorial(n) def:
    dacă n == 0 sau n == 1:
        returnare 1
    altfel:
        returnare n * factorial(n-1)