Programa en C para encontrar factorial de un número usando recursividad

En este ejemplo, aprenderá a encontrar el factorial de un entero no negativo ingresado por el usuario usando la recursividad.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación en C:

  • Funciones C
  • C Funciones definidas por el usuario
  • C recursividad

El factorial de un número positivo n viene dado por:

factorial of n (n!) = 1 * 2 * 3 * 4 *… * n 

El factorial de un número negativo no existe. Y el factorial de 0es 1.

Aprenderá a encontrar el factorial de un número usando la recursividad en este ejemplo. Visite esta página para aprender cómo puede encontrar el factorial de un número usando un bucle.

Factorial de un número usando recursividad

#include long int multiplyNumbers(int n); int main() ( int n; printf("Enter a positive integer: "); scanf("%d",&n); printf("Factorial of %d = %ld", n, multiplyNumbers(n)); return 0; ) long int multiplyNumbers(int n) ( if (n>=1) return n*multiplyNumbers(n-1); else return 1; ) 

Salida

Ingrese un número entero positivo: 6 Factorial de 6 = 720 

Suponga que el usuario ingresó 6.

Inicialmente, multiplyNumbers()se llama desde main()con 6 pasado como argumento.

Luego, se pasa 5 multiplyNumbers()desde la misma función (llamada recursiva). En cada llamada recursiva, el valor del argumento n se reduce en 1.

Cuando el valor de n es menor que 1, no hay una llamada recursiva y el factorial se devuelve finalmente a la main()función.

Articulos interesantes...