Programa Java para factor

Programa Java para factor

Mientras se trata de problemas matemáticos en Java, puede haber casos en los que el programador necesita recuperar un resultado basado en la sucesión de valores. Por ejemplo, multiplicar la sucesión de valores en lugar de calcular cada uno de los valores individualmente. En tales escenarios, devolviendo el "factorial"El número es útil en muchos casos para reducir la complejidad del código.

Este artículo explicará los enfoques para calcular el "factorial" de un número en Java.

Cómo calcular el factorial de un número en Java?

Para calcular el factorial de un número en Java, aplique los siguientes enfoques:

    • "para" Bucle
    • "mientras" Bucle
    • "Recursión" Acercarse

Algoritmo para calcular el "factorial" de un número

En primer lugar, implementemos un algoritmo para encontrar el "factorial"De un número. Por ejemplo, si el factorial del número "5"Debe calcularse, el cálculo correspondiente se puede hacer, de la siguiente manera:

5 -> 5 * 4 * 3 * 2 * 1 = 120;

Enfoque 1: Computación del factorial de un número en Java usando el bucle "para"

El "paraEl bucle se usa para iterar a través de los valores y mostrarlos individualmente. Este enfoque se puede utilizar para iterar el bucle de "1"Al número (calculado para factorial) y devuelve su multiplicación.

Ejemplo

Revise el siguiente ejemplo:

Factorial de clase pública
public static void main (string args [])
int número = 5;
int factorial = 1;
para (int i = 1; i <= number; ++i)
factorial *= i;

Sistema.afuera.println ("El factorial de"+número+"es:"+factorial);


De acuerdo con el fragmento de código anterior, aplique los siguientes pasos:

    • En primer lugar, inicializa los enteros establecidos.
    • Después de eso, aplique un "para"Loop para iterar desde"1"Al número cuyo factorial debe calcularse.
    • En la definición del bucle, devuelva la multiplicación de los enteros sucesivos que comienzan desde "1"Hasta el número.
    • Por último, muestre el factorial correspondiente del número.

Producción


En esta salida, se puede analizar que se devuelve el factorial del número correspondiente.

Lógica alternativa

Alternativamente, el factorial se puede calcular simplemente revertiendo el "paraLógica de bucle en el ejemplo anterior, como sigue:

for (int i = number; i> = 1; --i)
factorial *= i;


Aquí, realiza la iteración inversamente, yo.mi., a partir del número (se calculará para factorial) hasta "1"Y devolviendo el factorial.

Producción


Como se observó, el resultado es idéntico en este caso también.

Enfoque 2: Computación del factor de un número en Java usando el bucle "while"

El "mientrasEl bucle se utiliza para iterar infinitamente. Este bucle se puede aplicar a, del mismo modo, iterar a lo largo de los valores que comienzan desde ""1"Hasta el número (calculado para factorial) y multiplicándolos.

Ejemplo

El ejemplo proporcionado a continuación explica el concepto declarado:

Factorial de clase pública
public static void main (string args [])
int número = 5;
int factorial = 1;
int x = 1;
mientras (x<=number)
factorial *= x;
x ++;

Sistema.afuera.println ("El factorial de"+número+"es:"+factorial);


En las líneas de código anteriores:

    • Del mismo modo, inicialice los enteros establecidos.
    • Ahora, aplique el "mientras"Loop para iterar desde"1"Hasta el número que se calculará para factorial.
    • En la definición del bucle, multiplique los enteros iterados uno por uno incrementándolos considerando la condición especificada.

Producción


Como se indica, este resultado arrojó el cálculo correcto.

Enfoque 3: Computación del factor de un número en Java utilizando "recursión"

"Recursión"En Java es un proceso en el que un método se llama a sí mismo continuamente. Este enfoque se puede aplicar tomando un número de entrada del usuario y calculándolo para factorial invocando la función repetidamente dentro de la misma función.

En primer lugar, incluya el paquete dado a continuación antes de dirigirse al ejemplo para garantizar la entrada del usuario:

importar java.utilizar.Escáner;


Ejemplo

Ahora, consideremos el siguiente ejemplo:

clase pública FactorialRecursion
static int factorial (int n)
if (n == 0)
regresar 1;
demás
retorno (n * factorial (n-1));

public static void main (string args [])
Escáner obj = nuevo escáner (sistema.en);
Sistema.afuera.println ("Ingrese el número:");
int num = obj.nextInt ();
Sistema.afuera.println ("El factorial se convierte en:"+factorial (num));
obj.cerca();


Según este código:

    • Defina una función llamada "factorial()".
    • El parámetro de la función corresponde al número a evaluar para factorial.
    • En su definición (de función), return "1"En caso de que el número sea"0" mediante el "si" declaración.
    • De lo contrario, invoque la misma función en la que se define y multiplique el número aprobado con todos sus sucesores consecutivos menos que hasta él "1".
    • En el "principal()"Método, crea un"Escáner"Objeto usando el"nuevo"Palabra clave y la"Escáner()"Constructor, respectivamente.
    • El "Sistema.en"Parámetro lee la entrada y el"nextInt ()El método lleva la entrada del usuario como enteros.
    • Por último, invoca el "recursivo"Funcionar y pasar el entero de entrada del usuario como su argumento que debe calcularse para factorial.

Producción



Esta salida significa que se recupera el resultado deseado.

Conclusión

Para calcular el "factorial"De un número en Java, aplique el"para"Loop, el"mientras"Loop, o el"Recursión" acercarse. Los dos enfoques anteriores devuelven el factorial al iterando de "1"Para el entero proporcionado y multiplicando los valores iterados. El último enfoque calcula el factorial de tal manera que la función se accede a sí misma repetidamente. Este blog calcula el factorial del número de entrada especificado o del usuario en Java.