Ejemplo para encontrar factorial de un entero no negativo (ingresado por el usuario) usando recursividad.
Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de C ++:
- Funciones C ++
- Tipos de funciones definidas por el usuario en C ++
- C ++ if, if … else y anidado if … else
- Recurrencia de C ++
Este programa toma un número entero positivo del usuario y calcula el factorial de ese número. Supongamos que el usuario ingresa 6 y luego,
Factorial será igual a 1 * 2 * 3 * 4 * 5 * 6 = 720
Aprenderá a encontrar el factorial de un número usando una función recursiva en este ejemplo.
Visite esta página para aprender cómo se pueden utilizar los bucles para calcular el factorial.
Ejemplo: calcular factorial usando recursividad
#include using namespace std; int factorial(int n); int main() ( int n; cout <> n; cout << "Factorial of " << n << " = " < 1) return n * factorial(n - 1); else return 1; )
Salida
Ingrese un número entero positivo: 6 Factorial de 6 = 720
En el programa anterior, suponga que el usuario ingresa un número 6. El número se pasa a la factorial()
función.
En esta función, 6 se multiplica al factorial de (6 - 1 = 5). Para ello, se vuelve a pasar el número 5 a la factorial()
función.
Asimismo, en la siguiente iteración, 5 se multiplica por el factorial de (5 - 1 = 4). Y 4 se pasa a la factorial()
función.
Esto continúa hasta que el valor llega a 1 y la función devuelve 1.
Ahora, cada función devuelve el valor para calcular 1 * 2 * 3 * 4 * 5 * 6 = 720, que se devuelve a la main()
función.