sábado, 25 de junio de 2011

Deitel_Java_6.25 b) (Números Primos entre 1 y 10000 en Java)

_____________________________________________________________________________________
6.25 b) Cree una aplicación que determine e imprima todos los números primos menores que 10000.
_____________________________________________________________________________________
SOLUCIÓN:
Este problema usa la misma clase que aparece en Deitel_Java_6.25 a. Una versión mejorada de éste programa se da en Deitel_6_25 c. Debido a que este programa genera 1231 líneas de salida, tal vez le convenga Redireccionar la salida.

Este código debe guardarse con el nombre  UsaDeitel_6_25.java

public class UsaDeitel_6_25

{    // Abre UsaDeitel_6_25

public static void main(String args[])

{        // Abre main 

Deitel_6_25 miObjeto = new Deitel_6_25();
String auxiliar;
int Tamano = 10000;

System.out.printf("\nEste programa imprime los primos entre 1 y %d \n", Tamano);

for ( int i = 2; i <= Tamano; i++ )
{         // Abre for
auxiliar = miObjeto.Primo(i);

if ( "primo" == auxiliar )
System.out.printf("%d \n", i );
}      // Cierra for

}        // Cierra main

}    // Cierra UsaDeitel_6_25

Este código debe guardarse con el nombre  Deitel_6_25.java

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++
*  Esta clase contiene un metodo que recibe un entero x,+ 
*  evalua si se trata de un primo o no y regresa esa    +
*  informacion en forma de una cadena.                  +
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
   
 
public class Deitel_6_25

{  // Abre clase Deitel_6_25

public String Primo( int x)

{            // Abre metodo Primo
String Estatus = "primo";
// En principio se concede que el numero
// recibido es primo, por eso la variable
// Estatus se inicializa con "primo"
 

for ( int i = 2; i <= x / 2 ; i++ )
{      // Abre for

// Si el ciclo for empieza desde 1, entonces el
// Estatus siempre se cambia a "compuesto", ya que
// todos los numeros son divisibles entre 1
 
if ( 0 == x % i )
Estatus = "compuesto";

// Si el x es divisible entre cualquier otro numero, 
// entonces es "compuesto"
 
}      // Cierra for

return Estatus;
}            // Cierra metodo Primo

}  // Cierra clase Deitel_6_25

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...