lunes, 22 de febrero de 2016

¿Qué hay entre dos primos consecutivos? (1)

Evidentemente, lo que hay entre dos primos consecutivos son números compuestos, pero puede haber también cuadrados, semiprimos u oblongos, y se pueden contar o sumar. De algunas clases sólo habrá uno o ninguno, como en el caso de los cuadrados, y en otras aparecerán muchos más. Nos entretendremos con esas búsquedas, para ver qué conseguimos.

En primer lugar, un escenario

Para entender mejor lo que sigue, hemos construido una tabla con todos los números del 2 al 997, que puedes extender tanto como desees. Dicha tabla está organizada escribiendo los números primos en una misma columna, y los comprendidos entre cada dos de ellos consecutivos (los llamaremos “entreprimos”), en las columnas siguientes. Algo como esto:



Hemos alojado esta tabla en http://www.hojamat.es/blog/entreprimos.xlsm

De esta forma, cuando deseemos contar, sumar o destacar entreprimos, trabajaremos por filas, lo que en una hoja de cálculo facilita mucho el trabajo. Por ejemplo, con la función CONTAR podemos añadir una columna que nos exprese el intervalo entre dos primos consecutivos. Por eso comenzamos la tabla en la columna D, para poder insertar columnas delante de ella. Observa cómo quedaría la función CONTAR en la columna C:



Como era de esperar, salvo el caso del 2 y el 3, el número de entreprimos es siempre par, y distribuido de forma irregular.

Podíamos haber sumado, y obtendríamos los términos de la sucesión http://oeis.org/A054265

0, 4, 6, 27, 12, 45, 18, 63, 130, 30, 170, 117, 42, 135, 250, 280, 60, 320, 207, 72,… como puedes observar en la imagen, en la que hemos usado la función SUMA.


En la página enlazada http://oeis.org/A054265 se te propone una fórmula para estas sumas. Es fácil de entender. Si llamamos P(N) al primo número N es claro que el número de entreprimos entre P(N) y P(N+1) es P(N+1)-P(N). Pero es trivial que forman una progresión aritmética, luego se pueden sumar mediante la fórmula clásica

Que en este caso sería (P(N+1)-1+P(N)+1)*(P(N+1)-P(N)+1)/2, es decir:


Por ejemplo, entre 23 y 29 la suma de compuestos sería (23+29)*(29-23+1)/2=26*5=130, como se comprueba en la tabla.

Número de entreprimos

Para recuentos posteriores, es útil disponer de una fórmula para contar los entreprimos inferiores a un primo dado. Recordamos que existe una función PI(x), o p(x) con x real, que cuenta los primos menores o iguales a un número dado. En lenguajes de programación se podrá expresar como PrimePi(x) en el Wolfram Language, primepi(x), en PARI o nuestra PRIMHASTA para hoja de cálculo. Es evidente que el número de entreprimos hasta N se calculará restando N y PRIMEPI(N), para así eliminar los primos. En PARI podíamos definir esta función:

entreprimos(n)=n-primepi(n)

Con este código contamos los entreprimos de la tabla-escenario propuesta:

entreprimos(n)=n-primepi(n)
{print(entreprimos(997))}

Si lo ejecutas te devolverá 829, aunque en la tabla hay 828. Esto es porque cuenta el 1.

Si deseas contar entre dos primos puedes usar esta otra función:

entreprimos2(m,n)=n-primepi(n)-m+primepi(m)

Por ejemplo, para m=31 n=53 nos devuelve el valor 17, que puedes comprobar en la tabla



Usaremos más adelante estas funciones en cálculos de densidades de ciertos tipos de entreprimos. Finalizamos aquí para no mezclar los temas con los de la siguiente entrada.