5.13 Los factoriales se utilizan frecuentemente en los problemas de probabilidad. El factorial de un entero positivo n (se escribe como n!) es igual al producto de los enteros del 1 a n. Escriba una aplicación que evalúe los factoriales de los enteros del 1 al 5. Muestre los resultados en formato tabular. ¿Qué dificultad podría impedir que usted calculara el factorial de 20?
Se usa un ciclo for, que va de 1 a 5, dentro del cual se calcula el factorial mediante un ciclo while.
El siguiente código debe guardarse en un archivo llamado UsaDeitel_5_13.java.
public class UsaDeitel_5_13
{ // Abre clase UsaDeitel_5_13
public static void main(String args[])
{ // Abre main
Deitel_5_13 miObjeto = new Deitel_5_13();
// Se llama metodo factorial
miObjeto.factorial();
} // Cierra main
} // Cierra clase UsaDeitel__13El siguiente código debe guardarse en un archivo llamado Deitel_5_13.java
public class Deitel_5_13
{ // Abre clase publica Deitel_5_13
public void factorial()
{ // Abre metodo factorial
for ( int i = 1; i <= 5; i++ )
{ // Abre for
int factor = 1;
int numero = i;
// Este ciclo while calcula el factorial
while ( 0 < numero )
{ // Abre while
factor *= numero--;
} // Cierra while
System.out.printf("\nEl factorial de %d es: %d\n", i, factor );
} // Cierra for
} // Cierra metodo factorial
} // Cierra clase publica Deitel_5_13
El problema de calcular el factorial de 20 es que en java los enteros van de -2147483648 a 2147483647, en tanto que 20! es un número con 19 cifras que supera pronto el tamaño máximo de un int de 4 bytes (32 bits) en memoria.
y en pseint como quedaria??
ResponderEliminar