viernes, 24 de diciembre de 2010

Hallar números primos con un rango inicial y final.


//Hallar números primos con un rango inicial y final.
class Primos{
 public static void main(String arg[]){
  int i,j;
  boolean esPrimo;
  int rInicial=2;//Rango inicial, este debe ser mayor de 1.
  int rFinal = 200;//Rango final.
  for(i = rInicial;i <= rFinal;i++){
  //recorro ciclo tantas veces como necesite(<= es para incluir el valor de rFinal).
      esPrimo=true;// i es primo hasta que se demuestre lo contrario, jejejejeje.
       for(j = 2;j < i;j++){
       //no coloque j = 1 porque ya sabemos que todo numero es divisible por 1.
       /*j < i es para no incluir el numero a evaluar, pues todo numero es divisible
       por si mismo.*/
       if(i % j == 0){//Si además del 1 y el mismo hay otro divisor, ya no es primo.
         //% devuelve el residuo de i/j
          esPrimo = false;//se demostró que i no es primo.
       }
       }
       if(esPrimo){//Si es primo lo imprimo.
        System.out.println(i+"\n");
       }
  }
 }
}

6 comentarios:

  1. Gracias, me ando de lujo... Postdata: Para los que no quieren esa variable estatica, Googleen "Scanner Java" y dejen que el usuario declare su propia variable inicial y Final.

    ResponderBorrar
  2. como hago que al pedir un numero al usuario imprima esa cantidad de numeros primos

    ResponderBorrar
    Respuestas
    1. Hola, se me ocurre que en vez de usar el ciclo for utilices un while, y que cada vez que se encuentre un primo se incremente una variable contador que será usada para parar el ciclo while, escribe algo de código y consultarme nuevamente

      Borrar

Entrada destacada

Matriz de adyacencia para un grafo

"La matriz de adyacencia es una matriz cuadrada que se utiliza como una forma de representar relaciones binarias."; aunque pa...