Mi problema se reduce a encontrar el número de números primos entre dos números dados. Podría tener un rango tan grande como 1 to (1000)!
y, por lo tanto, necesito algunas optimizaciones matemáticas.Algoritmo rápido para encontrar el número de números primos entre dos números
Claramente, el método de tamizado sería demasiado lento en este caso. ¿Hay alguna optimización matemática que pueda aplicarse, como por ejemplo, tomar un subconjunto más pequeño de este gran espacio y hacer inferencias sobre el resto de los números.
P.S: Definitivamente parece que podría haber llegado a un callejón sin salida, pero todo lo que estoy buscando son algunas optimizaciones que podrían ayudar a resolver esto. Y también, solo estoy buscando un enfoque de subproceso único.
EDIT: Un enfoque que he estado pensando y que puede resolver una gran cantidad de problemas relacionados con los números primos principales, es que alguien mantenga una tabla global de primos y la ponga a disposición para la búsqueda. La gente en el proyecto PrimeGrid puede contribuir de manera útil a esto.
No estoy seguro si esto ayuda, pero eche un vistazo a [Función de recuento principal] (http://en.wikipedia.org/wiki/Prime-counting_function). Sin embargo, no es fácil de evaluar. – Mysticial
Publique un código, o al menos un pseudocódigo de algunos enfoques que haya probado. –
¿Los números dados están entre 1 y '10^5'? ¿O pueden ser mucho más grandes y la longitud del intervalo puede ser hasta '10^5 '? –