domingo, 29 de mayo de 2011

Deitel_Java_5.13

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.

1 comentario:

Related Posts Plugin for WordPress, Blogger...