[Java] La suma de los números primos

Iniciado por hackmin, Febrero 23, 2015, 01:01:47 PM

Tema anterior - Siguiente tema

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

Febrero 23, 2015, 01:01:47 PM Ultima modificación: Febrero 23, 2015, 01:44:10 PM por Expermicid
La suma de los números primos por debajo de 10 es 2 + 3 + 5 + 7 = 17.

Encuentra la suma de todos los números primos por debajo de dos millones.

Ejercicio: Básico

Código: java
public static void main(String[] args) {

Scanner cin = new Scanner(System.in);
long GetPrimo = cin.nextLong();
   int contador = 0;
   long sumatorio = 0;
    for(int i = 1; i <= GetPrimo;i++){
    for(int x = 1; x <= GetPrimo;x++){
   
    if(i % x == 0){
    contador = contador + 1;
    }
    if(contador == 2 && x == GetPrimo){
   
    sumatorio = i + sumatorio;
    System.out.println(i);
   
   
    }
    if(x == GetPrimo){
    contador = 0;
    }
   
   
    }
   
   
    }
    System.out.println("La suma total es: "+sumatorio);
   
    }
    }
     


Llegar a 2.000.000 tarda mucho, si alguien sabe optimizarlo para que tarde menos, bienvenido sea. sin usar metodos ehh  ;)

Las salidas por pantalla siempre van a ralentizar el sistema
Si piensas que los usuarios de tus programas son idiotas, sólo los idiotas usarán tus programas