Ver Mensaje Individual
  #3  
Antiguo 05-02-2012
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Reputación: 22
fidel Va por buen camino
Realiza un ejercicio se refiere a tí, por lo tanto no te lo voy a hacer, entre otras cosas porque no aprenderías nada, pero te voy a dar unas pautas que funcionan y que hacen que la búsqueda sea rápida incluso para números grandes (de 9 cifras por ejemplo)

//parece ser que si un número no es divisible entre los primos
//del 1 al 3361 (son 475 primos) es seguro que es primo, por lo
//que para comprobar si es primo no es necesario dividirle
//entre todos los números menores que él, basta con dividirle
//entre los 475 primeros primos y si no es divisible entre
//ninguno de ellos el número es seguro que es primo

Por lo tanto

//coger en un array de 475 elementos los primos del 1 al 3361
//recorres números de 1 al 3361 (solo impares, los pares no son primos) con un bucle
//les vas dividiendo entre sus menores (usa mod para ver si da exacto) para ver si son o no primos
//esto lo debes saber, si en alguna operación te da resto 0 ya no es primo
//el que sea primo le vas guardando en el array y así lo llenaras con los 475 primeros primos


Despues comprobamos el número
Le vas dividiendo entre los primos guardados en el array (usa mod) si hay alguna división de resto 0 no es primo en caso contraio si.
Responder Con Cita