|
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.
|