Factorial de un número mediante recursividad en C++

Publicado el 13 marzo 2015 por Francves


Una función en C++ es recursiva cuando se llama asimisma desde la misma función. Un ejemplo bastante sencillo es el de usar recursividad para determinar el factorial de un número
Te podría interesar: Algoritmo - Factorial de un número en C++
#include <iostream>
using namespace std;
int FuncionFactorial(int n){
if(n < 0)
return 0;
else if(n > 1)
return n * FuncionFactorial(n-1);
else
return 1;
}
int main(){
int n, factorial;
cin >> n;
factorial = FuncionFactorial(n);
cout << factorial;
return 0;
}

Declaramos dos variables de tipo int (n, factorial), leemos el número al cual deseamos determinar su factorial y lo pasamos como parámetro a la función FuncionFactorial. Para esta función realizaremos algunas condiciones, cuando n sea mayor que 1 se realizará la operación n multiplicado por lo que retorne la función pero ahora con n teniendo el valor n -1, esto hasta que n sea igual a 1, cuando esto ocurra, retornaremos el valor 1. De no colocar estas condiciones y de no estar bien definidas nuestro programa podría entrar en un bucle infinito.
El proceso sería, leemos por ejemplo el número 4 entonces la función factorial realizaría la operación: 4 * ( 3 * ( 2 * ( 1 ) ) ) =  24
También te podría interesar:
  1. Operador xor binario en c++ - Disyunción exclusiva de dos números decimales
  2. Utopian Tree HackerRank - Solución c++
  3. 22 guías y libros gratis para aprender a programar en c++
  4. Elemento mayor de un vector en C++ (max_element)