Factorial de un número

marzo 25, 2010 | | 0 comentarios | Java Posteado por dementexmaster

El factorial de un número es la multiplicación de los número que van del 1 a dicho número. Para expresar el factorial se suele utilizar la notación n!. Así la definición es la siguiente:

1
n! = 1 x 2 x 3 x 4 x 5 x ... x (n-1) x n.

Siguiendo esta simple expresión podríamos codificarlo en Java de la siguiente forma.

Lo primero es definir la variable que va a definir el factorial y la que definirá el número sobre el que vamos a calcular el factorial.

1
2
3
double factorial = 1;
// El número elegido para el factorial es el 30
double numero=30;

Lo siguiente es hacer el bucle en el cual iremos decrementando el número y multiplicando por el valor del factorial.

1
2
3
4
while ( numero!=0) {
  factorial=factorial*numero;
  numero--;
}

Solo nos quedará el volcar el valor por pantalla:

1
System.out.println(factorial);

Esta es una forma muy sencilla de implementar el factorial. Si bien, tenemos otra forma de implementarlo. En este caso el factorial se define de una forma recursiva. Esta definición fue realizada por el matemático frances Christian Kramp.

La definición viene a decir lo siguiente:

1
2
3
4
si n=0
  entonces el factorial es 1
si n  > 1
  entonces (n-1)! x n

Esta implementación se puede definir con recursividad en la programación Java de la siguiente forma:

1
2
3
4
5
6
public int factorial (double numero) {
  if (x==0)
    return 1;
  else
    return numero * factorial(numero-1);
}

Como podemos ver es un calco de la definición de Christian Kramp. En esta definición el método se irá llamando recursivamente hasta que se llegue a calcular el factorial del número 0.

Para volcar el dato por pantalla tendremos la siguiente línea de código::

1
System.out.println(factorial(40));
  • No Related Post

Escribe un comentario

You must be logged in to post a comment.