Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/11/2014, 14:21
Avatar de Xerelo
Xerelo
 
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Primos Circulares

La verdad es que es un ejercicio un poco raro, no acabo de ver muy claro que sea un ejercicio adecuado para hilos pero en fin, seguro que tu profesor tiene en mente algo que yo ahora mismo no veo.

Lo que se me ocurre es lo siguiente:

1. Los números pares no pueden ser primos, avanza de dos en dos a partir del uno y reducirás a la mitad los números.

2. En relación con el anterior, cualquier número que contenga un dígito par no podrá ser primo circular por el punto 1. Te ahorras unas cuantas comprobaciones de si un número es primo. Usa regex para detectarlos.

3. Dejaría el for (con el +2) y cada número primo sin dígito par lanza un hilo donde comprueba si es primo y sus circulares, si lo son los añades a un List, pero ojo los ArrayList no son thread-safe, tal como lo tienes puede dar algún error. Usa synchronized, Vector o algún tipo de listado thread-safe.

4. Cada número que vayas a comprobar, mira primero que no esté ya en la lista de primos circulares.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.