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__13
El 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