Factorial de C ++

Factorial de C ++
Factorial de cualquier número es el producto de todos los enteros descendientes positivos. El factorial generalmente se usa en mezclas y variaciones. Los números negativos no tienen un factorial. Por ejemplo, 1 es un factorial de 0. El factorial se denota por el símbolo '!'. Cuando el usuario ingresa un entero, todos los números deben multiplicarse hasta ese número en particular. El factorial se puede determinar usando bucles "para". Cuando lo inicializamos con 0, obtenemos 0 en el resultado y cuando no inicializamos, obtenemos la respuesta correcta, pero si una variable contiene un valor de basura, no pudimos obtener la respuesta correcta. Entonces, se sugiere inicializar el factorial con 1. En C ++, existen numerosos métodos para descubrir el factorial de diferentes enteros. Discutamos de esa manera. Para la ejecución de códigos, se usa Dev C ++. Escribimos los siguientes códigos y los ejecutamos.

Determine el factorial de un número mediante la recursión

Podemos obtener el factor de cualquier número mediante el uso del método de recursión. En este ejemplo, tomamos cualquier número del usuario y luego calculamos el factor de ese número dado. Incluimos un archivo de encabezado de la siguiente manera.

#incluir
usando el espacio de nombres STD;
int factorial (int x);
int main ()

int x;
cout x;
cout << "Factorial of " << x << " = " < 1)
return x * factorial (x - 1);
demás
regresar 1;

Supongamos que ingresamos el número "12" en el programa según sea necesario, el método Factorial () toma este entero solo como argumento. Esta función se multiplica 12 por el factorial de (12-1 = 11). Para hacer esto, el número "11" se transfiere al método Factorial (). Del mismo modo, en la próxima repetición, multiplique 11 por el factorial de (11-1 = 10). El método factorial () se da 10 como parámetro. Este proceso dura hasta que el valor se extiende 1 y devuelve 1. Ahora, cada función devuelve un valor para calcular factorial que se vuelve a la función principal ().

El usuario ingresa a un número 12 y luego obtiene el factorial de este número.

Usar para bucle

Determinamos el factorial de un entero con la ayuda del bucle "para". Echemos un vistazo a lo que está sucediendo en el código a continuación. Incluimos el archivo de encabezado al comienzo. Después de esto, usamos el espacio de nombres STD. Hemos declarado tres variables. Las variables 'a' y 'j' son de tipo de datos enteros. Luego, utilizamos la función Cout para obtener un entero positivo del usuario. Ese entero se almacena en la variable 'a'. Aquí ingresamos el número '9'.

#incluir
usando el espacio de nombres STD;
int main ()

int a, j, factorial = 1;
Couta;
para (j = a; j> = 1; j--)
factorial = factorial*j;
cout<<"\nFactorial = "<cout<regresar 0;

Ahora, después de obtener el entero del usuario, la evaluación del bucle "para" comenzará. El valor de la variable 'a' (9) se inicializa con la variable 'j'. Por lo tanto, J = 9. La sección de inicialización del bucle for se implementa primero, pero solo una vez. El estado j> = 1 o 9> = 1 evalúa a verdadero, por lo que el flujo del programa entra en un bucle y factorial * j o 1 * 9 o 9 se inicializa a factorial. El flujo del programa va a la tercera parte del bucle y el valor de 'j' está disminuido. Por lo tanto, J = 4. Condición j> = 1 se evalúa nuevamente. La condición se evalúa cada vez y se actualiza el valor de 'j'. Y después de cada evaluación de la condición, el programa dentro del bucle se ejecuta hasta que la condición evalúa a falso. Entonces, cuando la condición es falsa, obtenemos los valores 'j' y 'factoriales' después de cada evaluación. El valor de 'factorial' se recupera al final del bucle. Y esto dará como resultado el factorial del número especificado.

El usuario ingresa el número '9' y luego presiona la tecla Intro para obtener el factor de 9.

Usar while loop

Otro método para encontrar el valor factorial es el uso de un bucle de tiempo. En este código, incluimos el archivo de encabezado . Tomamos la variable "M" como un entero de tipo de datos. También hemos aplicado la condición "si". Devuelve 1 si el valor de 'm' es equivalente a 0. Después de esto, tomamos más variables. Necesitamos inicializar estas variables antes del bucle while.

#incluir
usando el espacio de nombres STD;
unsigned int factorial (unsigned int m)

if (m == 0)
regresar 1;
int k = m, factorial = 1;
mientras (m / k != m)
factorial = factorial * k;
K--;

Factorial de regreso;

int main ()

int n = 16;
cout << "Factorial of the number "
<< n<< " is "
<< factorial(n) << endl;
regresar 0;

Utilizamos la declaración while para implementar una estructura iterativa cuando las operaciones son desconocidas, y la iteración dura hasta que la condición de prueba se hace realidad. Una vez que se implementa la declaración mientras se implementa, la computadora evalúa primero la condición de prueba dada. Si esa condición es verdadera, se implementa el cuerpo del bucle. Después de ejecutar el cuerpo del bucle, la condición de prueba se evalúa nuevamente, y si es cierto, el cuerpo del bucle se ejecuta una vez más. Este procedimiento continúa hasta que la condición de prueba dada es falsa. Si False, el control se transmite a la primera declaración después del final del cuerpo del bucle. El cuerpo del bucle contiene solo una declaración o múltiples declaraciones.

A continuación, tomamos el número '16' para encontrar el factorial. Este número está significado por la variable 'n'.

Después de ejecutar el código mencionado anteriormente, obtenemos el factorial de 16 en salida.

Conclusión:

Este artículo explica las técnicas de encontrar el factorial de un número. Multiplicamos todos los enteros no negativos que son menores o equivalentes a ese número para obtener el factorial de ese número. Para números no negativos, el factorial siempre se determina. Para obtener el factorial de enteros positivos, usamos el bucle for y el bucle while. También utilizamos el método de recursión para este propósito.