Calcular factorial en C/C++
¿Qué es el factorial?
El factorial de un numero N es la multiplicación de
todos los números desde 1, hasta llegar al número N.
4! = 1x2x3x4 = 24
¿Cómo calcular el factorial de un numero en C/C++?
Podemos crear una función que reciba un número y retorne su respectivo
factorial, ejemplo:
long long factorial(int n) { long long f = 1; for (int i = n; i >= 1; i--) { f = f*i; } return f; }
Explicación:
- Utilizamos un tipo de retorno Long Long debido a que el número resultante del factorial puede ser demasiado grande para un tipo Int.
- El FOR toma por valor inicial el número que deseamos calcularle el factorial y termina cuando el valor llega a 1, debido a que cada ciclo decrementa la variable contador (i--).
- En cada ciclo, se multiplica la variable “f” por el valor actual del contador, y el resultado se guarda en la misma variable “f".
Código Ejemplo:
#include <iostream> using namespace std; long long factorial(int n) { long long f = 1; for (int i = n; i >= 1; i--) { f = f*i; } return f; } int main() { cout << "Factorial de 4 = " << factorial(4) << endl; }
y como quedaría si quiero que el numero del factorial lo introduzca el usuario???
ResponderBorrar