Duda en numeros primos

Iniciado por noaptebuna, 21 Septiembre 2015, 21:55 PM

0 Miembros y 1 Visitante están viendo este tema.

noaptebuna

Buenas.
Estoy realizando un programita en el que tiene que decirme los 15 primeros numeros primos y no consigo hacerlo.
Llevo 4 días intentándolo.
Éste es uno de los muchos planteamientos que traté de darle:

package segundoejercicio;

public class SegundoEjercicio {

    public static void main(String[] args) {
        for(int x=1;x<15;x++){
            int resultado=237%x;
            if(resultado!=0){
                System.out.println(x);
            }
        }
    }
}


Sé que se puede hacer con boleanos pero preferiría no usarlo simplemente porque ya vi un código con boleanos y ni lo entendí, mientras que con un for un if etc lo entendí del todo cuando vi el código hace mucho.
Muchas gracias. :) :) :) :) :)
Los maestros suelen castigar a sus alumnos por cometer errores, cuando en realidad, el mejor maestro es el mismo error. Quieren que atiendan los alumnos, y esto es imposible si ellos no hacen lo que les apasiona. Internet da conocimientos al alumno, y el error la sabiduría, pocos profesores quieren aceptarlo, pero la realidad, es ésta.

engel lex

explica ese código, porque

int resultado=237%x;
no tiene sentido si estás sacando los primeros 15 primos
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

noaptebuna

package segundoejercicio;

public class SegundoEjercicio {

    public static void main(String[] args) {
        for(int x=1;x<15;x++){
            int resultado=x%x;
            if(resultado!=0){
                System.out.println(x);
            }
        }
    }
}


Perdón lo puse sin querer xD
Éste es el original
Los maestros suelen castigar a sus alumnos por cometer errores, cuando en realidad, el mejor maestro es el mismo error. Quieren que atiendan los alumnos, y esto es imposible si ellos no hacen lo que les apasiona. Internet da conocimientos al alumno, y el error la sabiduría, pocos profesores quieren aceptarlo, pero la realidad, es ésta.

engel lex

x%x siempre será 0 XD es lo mismo que decir x/x siempre será 1 (exceptuando x=0)


tienes que hacer 2 ciclos... uno de recorrido y otro de busqueda...

yo recomiendo hacer algo así

Código (java) [Seleccionar]
int primos_conseguidos=0;
int posible_primo = 1;
while(primos_conseguidos < 15){
posible_primo++;
if(posible_primo%2==0 || posible_primo%3 == 0){
  // no es primo
  continue;
}
for(int i=5; i*i < posible_primo; i+=6){
  if (n % i == 0 || n % (i + 2) == 0){
// no es primo
  continue;
}

//si es primo
primos_conseguidos ++;

imprimir (posible_primo);

}


el codigo está hecho como c, pero me imagino que no necesita muchas adaptaciones para que funcione en java
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

noaptebuna

Los maestros suelen castigar a sus alumnos por cometer errores, cuando en realidad, el mejor maestro es el mismo error. Quieren que atiendan los alumnos, y esto es imposible si ellos no hacen lo que les apasiona. Internet da conocimientos al alumno, y el error la sabiduría, pocos profesores quieren aceptarlo, pero la realidad, es ésta.