Ejemplo 1: Factorial

 El factorial de un entero no negativo, escrito n! y pronunciado factorial de n, es el producto:

  n.(n-1).(n-2).. . . 1

  con 1!=1 y 0!=1.

El factorial de un entero número mayor o igual a 0 puede ser calculado en forma iterativa utilizando for como sigue:

factorial=1;

for (cont=numero;cont >= 1;cont - - )

factorial *= cont;

Una definición recursiva de la función factorial se obtiene al observar la siguiente relación:

n!=n.(n-1)!

La definición de la función recursiva correspondiente a factorial es:

Que pasa si yo me paso del caso base? El limite lo pone el compilador( el interprete en python por ejemplo tiene hasta 1000).

Esta pila no la manejamos nosotros, esto lo maneja el compilador y el sistema operativo.

long factorial(int numero)
{

if (numero <= 1) 
   return 1;
else return (numero * factorial(numero-1));

} 

Utilizamos variables de tipo long porque la función factorial crece rápido.