Separar numeros en JAVA

Txaman_
public class nombresprimers {

public static boolean prime = true;


public static void main(String[] args) {

    for (int i = 1; i < 10000; i++) {
        for (int j = 2; j < 10000; j++) {
            if(i == j)
            {
                continue;
            }
            if (i % j == 0) {
                prime = false;
                break;
            } else {
                prime = true;
            }
        }
        if (prime) {
            System.out.println(i + " es un nombre primer.");
        }

    }

}

}

Teniendo este codigo necesito que cada 1000 numeros se me separe con una linia de ( - ) y no hay manera. Si alguien me da una mano seria de gran ayuda, incluso si alguien quiere meter mano en el codigo para que esté mejor.
Pd. el codigo saca los numeros primos de entre 1 a 10000.
Gracias

Troyer

La condifción del if que buscas es así:

if(i != 0 && (i % 1000) == 0) {
 System.out.println("-");
}
1 1 respuesta
Txaman_

#2 Disculpa estoy un poco verde con JAVA, donde exactamente deberia ponerlo?

Ya está! Justo debajo de mi print xD

Gracias

Camp1

#1 Tan sencillo como contar cuantos divisores tiene un número, si tiene estrictamente 2 será primo

  
int i,j,divisores=0; for( i = 1; i <= 1000; i++){ for ( j = 1; j <= i; j++){ if( i % j == 0) divisores += 1; } if(divisores == 2) System.out.println("El numero "+i+" es primo "); divisores = 0; }
1
olablair

La condición de salida del segundo for la puedes hacer sobre la raiz cuadrada de i.

Vamos que si el divisor ya es mayor que la raiz cuadrada del número a comprobar si es primo o no, puedes seguir buscando en el siguiente. Vamos que si el número no es primo va a tener un divisor, sí o sí, cuyo valor sea menor que la raiz cuadrada del número. Si le das un par de vueltas es algo bastante lógico .

Por otro lado te puedes saltar los pares que sabemos que no son primos excepto el 2, en ambos bucles

1 1 respuesta
Txaman_

#5 Y traducido a código? :( Soy malisimo para entender estas cosas, me cuesta una burrada los temas de lógica y mates, si lo veo en código igual algunas veces llego a entender algo .

Igualmente gracias por explicarlo

Usuarios habituales

  • Txaman_
  • olablair
  • Camp1
  • Troyer