Muchas veces en matemáticas, estadística y áreas afines debemos obtener el factorial de un número. El factorial de n se define como n! = n*(n - 1)*(n - 2)*(n - 3)!... Donde n es un número natural cualquiera (n >= 0), ejemplo: 4! = 4*3*2*1 = 24.
Por definición 0! = 1
Ahora, veamos como obtener el factorial de un número mediante un algoritmo en c++.
#include <iostream>
using namespace std;
int main(){
int numero,factorial = 1;
cout << "Ingrese el número que desea saber el factorial \n";
cin >> numero;
while(numero){
factorial = factorial * numero;
numero--;
}
cout << "El factorial es: " << factorial << endl;
}
Explicación:
-Declaramos 2 variables de tipo entero, una llamada número la cual almacenará el valor leído por teclado que será el número que deseamos saber su factorial.-La segunda variable llamada factorial la inicializaremos en 1, esto debido a que sí deseamos saber el factorial de 0, lo que está programado dentro del while no se ejecutará (0 es como decir false en valor booleano) y por definición el factorial de 0 es 1.-Al ingresar al while el verificará el valor de la variable numero, sí este es cualquier valor excepto 0 entonces se ejecutará.-La variable factorial dentro del while cumplirá el rol de un acumulador. Imaginemos el proceso... Sí deseamos saber el factorial de 4, este número es distinto de 0, por lo cual entrará en el while, la variable factorial tiene en este momento el valor de 1, pero este valor será remplazado por 1 * 4 (factorial = 1 * 4).-Luego, el valor de 4 disminuirá a 3 con la instrucción numero-- y de nuevo el while comprobará la condición, al ser 3 entrará de nuevo y realizará la operación del acumulador factorial, ahora tomando el valor de 4 * 3 (factorial = 4 * 3). Esto se ejecutará hasta que la variable numero disminuya hasta el valor 0, posterior a esto arrojaremos un mensaje indicando el factorial del número que hemos ingresado.
También te podría interesar:
- Matriz de la relación predecesor inmediato en c++
- Matriz de accesibilidad de un Digrafo en c++
- Elevar un número a una potencia en C++
- 4 Ejercicios Básicos de Programación Orientada a Objetos en c++
- De sistema decimal a sistema binario en c++ y Java