miércoles, 23 de marzo de 2016

Volvemos a los números "arolmar" (4) ¿Qué hay entre dos arolmar?


Esta es la cuarta entrada de la serie que dedicamos a estos números de nuestra invención. Si deseas leer las anteriores basta con que señales la etiqueta “Números AROLMAR” en el blog.

Una cuestión que ya estudiamos en otra entrada respecto a los números primos, la aplicamos hoy a los números arolmar. Deseamos saber qué hay entre dos arolmar consecutivos, por ejemplo si hay primos, cuadrados, triangulares y otros. La frecuencia de nuestros números es similar a la de los números primos, por lo que los resultados mostrarán similitudes. Comenzamos con los cuadrados.

Cuadrados entre dos arolmar

En la primera entrada de esta serie

http://hojaynumeros.blogspot.com.es/2015/12/volvemos-los-numeros-arolmar-1-historia.html

definimos la función esarolmar, tanto para Basic VBA como para PARI. Ahora necesitaremos la función proxarol, que devuelve el primer arolmar que sigue a cualquier número:

Function proxarol(a) As Long (Versión para VBA)
Dim p, prim As Long
Dim sale As Boolean

p = a + 1: sale = False: prim = 0
While Not sale
If esarolmar(p) Then prim = p: sale = True
p = p + 1
Wend
proxarol = prim
End Function

No necesita mucha explicación para entender el proceso: va avanzando en los números siguientes al dado hasta encontrar el primer arolmar.

La función en PARI, basada en la ya definida esarolmar, quedaría así:

proxarol(n)={local(p=0,k);k=n+1;while(p==0,if(esarolmar(k),p=k);k+=1);p}

Con esta función podemos investigar qué tipo de números se puede encontrar entre dos arolmar consecutivos. Comenzamos con los cuadrados. En Basic se puede programar así:

Function num_entrearol(n, tipo)
Dim nm, p, i
nm = 0

If esarolmar(n) Then
p = proxarol(n)
For i = n + 1 To p - 1
Select Case tipo
Case 1: If escuad(i) Then nm = nm + 1
Case 2: If estriangular(i) Then nm = nm + 1
End Select
Next i
End If

num_entrearol = nm
End Function

Está preparada para contar cuadrados, triangulares u otros según el tipo. En el listado nos hemos limitado a los casos cuadrado o triangular. También se adapta a PARI, pero no lo incluimos por no alargar.

Al recorrer esta función para cuadrados en todos los números arolmar nos llevamos una sorpresa: entre dos arolmar consecutivos aparecen como mucho dos cuadrados. En efecto, aquí tienes el listado para los primeros:



De hecho, el valor de 2 sólo se alcanza en el 33 y el 309. En el resto sólo se han encontrado o un cuadrado o ninguno. Una causa probabilística de esto es que los cuadrados se van espaciando, para cada N en un incremento de 2N+1, mientras que los arolmar siguen un crecimiento aproximadamente lineal con incrementos próximos a 17. Hemos probado hasta 10^7 sin encontrar dos arolmar consecutivos entre los que existan tres cuadrados. La cota se queda en 2 para los casos citados. El 309 lo volveremos a encontrar más adelante, ya que presenta una diferencia grande con el siguiente arolmar.

Expresamos la conjetura:

Entre dos números arolmar consecutivos mayores que 309, existe a lo más un cuadrado.

Triangulares comprendidos

Esperamos aquí un fenómeno similar, ya que los triangulares crecen con incrementos también crecientes. Acudimos al programa en Basic y nos queda:


Descubrimos un 3, lo que es lógico, ya que los triangulares dejan intervalos entre ellos más pequeños que los cuadrados. Con el valor 3 aparecen los mismos números que en el caso de los cuadrados: el 33, que está seguido por los triangulares 36, 45 y 55 antes de llegar al siguiente arolmar 57, y el 309, seguido de 325, 351 y 378.

Esto nos hizo sospechar que nunca se daría el valor 4. Hemos adaptado nuestro código en PARI y, en efecto, para n<10^7 no se presenta ningún 4. Lo damos por bueno, como conjetura:

Entre dos números arolmar consecutivos mayores que 309, existen a lo más tres triangulares.

¿Ocurrirá algo parecido con los oblongos, dobles de triangulares o los poligonales?

Así es: sólo en los valores 33, 265 y 309 se intercalan 2 oblongos. Hemos buscado el valor 3 y no aparece. Con los pentagonales sólo poseen el valor 2 los ya sabidos 33 y 309. Prueba con otros tipos, pero por nuestra parte ya está bien. Hemos descubierto de paso que estos números 33 y 309 presentan un comportamiento especial.

Primos intercalados

Vimos en entradas anteriores que el ritmo de aparición de primos y de números arolmar es parecido. Por eso no debe extrañar que se den muchos valores distintos al contar primos entre dos arolmar consecutivos. Desde 0 hasta 30 aparecen para números inferiores a un millón. Aquí tienes los primeros:



Llama la atención que de nuevo el 309 destaca, en este caso por tener 14 primos intercalados hasta el siguiente arolmar 393. No es nada extraordinario, pues un par que está distanciado entre sí.

Potencias de primo

Si en lugar de contar primos contamos sus potencias no triviales (de exponente mayor que 1), el número de intercalados disminuye bastante:



Entre 21 y 33 aparecen 5^2, 3^3 y 2^5, y entre 105 y 129, 11^2, 5^3 y 2^7. Detrás de estos hay que saltar al 2173 y no aparecen más, al menos hasta 10^7.

Consideraciones probabilísticas nos llevan a pensar que no hay más casos.

Como resumen destacamos que el comportamiento de los intervalos entre arolmar es bastante parecido al comprendido entre primos, pero con las frecuencias de aparición un poco mayores.













jueves, 17 de marzo de 2016

Una curiosidad sin importancia

El día 11-2-16, publiqué en Twitter, según acostumbro, y  como una curiosidad, el siguiente desarrollo para esa fecha, escrita como 11216:


Una vez publicado me di cuenta de que cualquier número entero se puede expresar de forma parecida, eligiendo bien el factorial y el exponente racional de e. Es una mera curiosidad, sin valor teórico, pero que nos permitirá repasar algunas técnicas matemáticas.

Buscamos, pues, una expresión del tipo

Obtención del factorial

El cálculo del factorial lo puedes resolver mentalmente, como por ejemplo, en el caso de 6000, el factorial más cercano inferiormente es 7!, pero si deseas automatizarlo, deberás tener en cuenta el crecimiento tan rápido de los factoriales, que pueden sobrepasar la capacidad de una hoja de cálculo. Para obviar esto, podríamos averiguar el valor de a! por divisiones sucesivas. Lo Intentaremos, como muchas veces organizamos en este blog, mediante técnicas cada vez más automatizadas. Prescindiremos por ahora de la función Int.

Con cálculo de celdas

Basta con que observes esta imagen para darte cuenta de los sencillo de esta técnica de obtención del factorial más cercano a N:



Este ejemplo está diseñado para el número 239881. En cada celda de la columna de la derecha hemos escrito una fórmula similar a esta:

=SI(celda de arriba>=celda de la izquierda;celda de arriba/celda de la izquierda; " ")

Es una condicional, en la que, si la celda de arriba es mayor o igual que la de la izquierda, se intenta seguir dividiendo entre 1, 2, 3,…a, y, en caso contrario, se deja la celda en blanco. Ese blanco es el causante de que abajo aparezca el error #¡VALOR! En la imagen queda claro que el factorial correspondiente a 239881 es el 8. El cociente marcado en color, 5,94942956, es importante, porque coincide con el factor exponencial.

Mediante una función

Este proceso de divisiones sucesivas se puede automatizar con dos funciones, una que nos devuelva el factorial y otra que calcule el factor exponencial. En el Basic de las hojas de cálculo podría ser esta, en la que hemos reunido las dos funciones mediante el parámetro tipo, que si le damos el valor 0 nos devolverá el factorial, y con otro valor, el factor exponencial:

Public Function sacafactorial(n, tipo)
Dim p, v
p = 1: v = n
While v >= p ‘divisiones sucesivas para obtener el factorial
v = v / p: p = p + 1
Wend
If tipo = 0 Then sacafactorial = p - 1 Else sacafactorial = v
End Function

Es sencilla y rápida, y nos permite calcular estas dos cantidades para cualquier entero. En el siguiente esquema hemos añadido el exponente de e, que será objeto de la segunda parte de nuestros cálculos.



Si retrocedemos al cálculo con el que iniciamos esta entrada, comprobaremos que el exponente 0,79993525 está muy cercano a 4/5, que era la fracción propuesta. Volvamos al segundo ejemplo:



Aquí el exponente es 1,78329534. El problema ahora es aproximarlo con el número racional más sencillo posible. Para ello disponemos de una herramienta muy poderosa, las fracciones continuas. Puedes descargarte esta hoja antes de seguir leyendo:

http://www.hojamat.es/sindecimales/aritmetica/herramientas/herrarit.htm#fraccont

Las fracciones continuas permiten una aproximación racional a cualquier número real, con la ventaja de darte diversas aproximaciones con exactitud creciente. Abre la hoja y comprobarás que está diseñada para aproximar racionales con racionales, pero “la engañaremos”.


Basta con que en el numerador escribamos el exponente que obtuvimos más arriba, 1,78329534, y como denominador un 1.



De esa forma obtendremos aproximaciones racionales cada vez mejores de ese exponente:


Ahora interviene la parte entera. Debajo de cada aproximación escribimos la expresión del principio



En lenguaje de hoja de cálculo sería

=FACT(8)*EXP(celda de arriba)

Quedaría así (destacamos los más aproximados):


Vemos que el producto más sencillo que al aplicarle la parte entera se convierte en el resultado deseado es 239881,0882, que corresponde al exponente 790/443, siendo los siguientes más exactos, pero también más complejos. Así que nos quedamos con ese:


Lo comprobamos con la misma hoja de cálculo y la fórmula

=ENTERO(FACT(8)*EXP(790/443)) 

obteniendo el resultado deseado de 239881.

Ya afirmamos que el trabajo de hoy no era trascendental, pero es atractivo poder expresar cualquier número entero mediante un factorial, un numerador y un denominador, y además con infinitas soluciones, aunque nos quedemos sólo con la más simple.

Por ejemplo, un millón se puede expresar como



Y aproximando a un racional el exponente:





O en lenguaje de celdas:

=ENTERO(FACT(9)*EXP(16965/16736))

Para terminar, aquí tienes los números con desarrollos más simples, exponentes 1, 2, 1/2 y 2/3



Lo dicho, una entretenida curiosidad sin importancia.

jueves, 10 de marzo de 2016

Sucesión de Mian-Chowla


Esta sucesión se define por recurrencia de dos formas equivalentes:

(a)  a(1) = 1,  a(n) es el menor número mayor que a(n-1) tal que todas las sumas a(i)+a(j) con i, j £ n son distintas.

(b) a(1) = 1,  a(n) es el menor número mayor que a(n-1) tal que todas las diferencias a(i)-a(j) con i,j£n i>j son distintas.

Aquí trabajaremos con la primera.

Pertenece al rango de problemas y conjuntos de Sidon, matemático que estudió las cuestiones sobre sumas o diferencias todas distintas, Puedes leer nuestra entrada

http://hojaynumeros.blogspot.com.es/2010/03/jugamos-con-sidon-y-golomb.html

Los primeros elementos son 1, 2 , 4, 8, 13, 21, 31, 45, 66,...
http://oeis.org/A005282

Comprobemos la definición con el 8: Los términos anteriores (1, 2, 4) producen las siguientes sumas 2, 3, 4, 5, 6, 8. Deberíamos ahora probar con el siguiente número, el 5, pero este produce la suma 1+5=6, que ya está en la lista, luego no es válido. Probamos el 6, y la suma 2+6=8 lo invalida. El 7 tampoco pertenece a la sucesión, ya que 1+7=8 pertenece a la lista de sumas. Probamos el 8, que produce las sumas 9, 10 y 12, no incluidas en la lista, luego el 8 es válido y se incorpora a la lista.

Generación con hoja de cálculo

Para generar esta sucesión necesitamos definir una matriz  en la que almacenar las distintas sumas que hay que considerar. Se puede aprovechar el hecho de que una vez calculadas las sumas para a(n-1), se pueden usar también para a(n), con lo que en cada iteración aparecerán n sumas nuevas. Esto nos puede llevar a usar una columna de hoja de cálculo como matriz que almacene las sumas previas a cada elemento. Así lo hemos implementado, como puedes ver en la imagen (más adelante explicaremos cómo conseguimos que aparezcan):



En la columna de la izquierda hemos ido acumulando sumas, y en la de la derecha, elementos de la sucesión. Así, la suma 2 pertenece al elemento 1. Al incorporar un nuevo elemento, en este caso el 2, se incorporan las sumas 3 y 4. Con el elemento 4, las sumas 5, 6 y 8, y por último, con el 8, las restantes 9, 10, 12 y 16.

¿Cómo conseguimos la aparición automática de elementos y sumas nuevas?

Hemos diseñado un botón que en cada pulsación incorpora un elemento nuevo en la columna (o matriz) de elementos y las correspondientes sumas en la columna de la izquierda.

La idea es esta:

Comenzamos con a(1)=1 s(1)=1

Para cada posible elemento nuevo, ensayamos en primer lugar el valor a(n-1)+1. Si ese valor produce sumas distintas a las ya existentes, lo aceptamos e incorporamos a la lista. En caso contrario, probamos con a(n-1)+2, a(n-1)+3,…hasta que lleguemos a un número que produzca un conjunto de sumas todas distintas.

Si deseas practicar con ese botón, puedes descargarte la hoja alojada en esta dirección

http://www.hojamat.es/sindecimales/aritmetica/teoria/apunarit.htm#mian

Si te gusta la programación, sigue esta rutina en VBA, contenida en la hoja enlazada:

Sub nuevo()
Dim sumas, elem, x, x1, i, j, x0, s
Dim vale, dasuma As Boolean

sumas = ActiveWorkbook.Sheets(3).Cells(7, 4).Value ‘Lee los primeros elementos
elem = ActiveWorkbook.Sheets(3).Cells(7, 7).Value
x1 = ActiveWorkbook.Sheets(3).Cells(8 + elem, 7).Value

vale = False
x = x1 + 1
While Not vale ‘Se recorre un bucle mientras no aparezcan sumas distintas
dasuma = False ’Esta variable controla si una suma se repite
i = 1
While i <= elem And Not dasuma ‘Bucle de búsqueda de sumas no repetidas
x0 = ActiveWorkbook.Sheets(3).Cells(8 + i, 7).Value
j = 1
While j <= sumas And Not dasuma
s = ActiveWorkbook.Sheets(3).Cells(8 + j, 4).Value
If x1 + x0 = s Then dasuma = True ‘Una suma se ha repetido, y se rechaza el nuevo elemento
j = j + 1
Wend
i = i + 1
Wend
If dasuma Then
x1 = x1 + 1
Else
vale = True
elem = elem + 1 ‘Se ha encontrado un elemento válido y se incorpora a la columna
ActiveWorkbook.Sheets(3).Cells(8 + elem, 7).Value = x1
For j = 1 To elem ‘Se incorporan las sumas nuevas
x0 = ActiveWorkbook.Sheets(3).Cells(8 + j, 7).Value
ActiveWorkbook.Sheets(3).Cells(8 + sumas + j, 4).Value = x1 + x0
Next j
End If
Wend
End Sub

Hemos aprovechado la estructura de la hoja de cálculo para no tener que definir matrices o vectores de datos.

Curiosidades sobre esta sucesión

En la hoja arriba enlazada hemos copiado los primeros términos de la sucesión en la hoja “Propiedades”. Como en OEIS sólo figuran 50 elementos y algunas curiosidades implican muchos términos, hemos adaptado el algoritmo anterior para convertirlo en una función MIAN(N), tal que dado el número de términos, devuelva una cadena de caracteres (string) con los primeros términos de la sucesión de Mian-Chowla. Después, con la técnica de “Texto en columna” se pueden organizar en fila o columna. Hay que advertir que según el número de términos, la función puede ser lenta. Al ser este algoritmo muy parecido, remitimos al código VBA de la hoja enlazada.



Con esta lista de la hoja “Propiedades” podemos comprobar algunas de las afirmaciones que se han hecho sobre esta sucesión. Por ejemplo:

El límite de la suma de los inversos de esta sucesión está entre 2.158435 y 2.158677

Creamos una columna paralela a la lista que contenga los inversos, y al lado otra que recoja la sumas parciales. Con los términos que hemos identificado, la lista termina así:



Como vemos, se queda a una milésima aproximada de lo conjeturado, pero con hoja de cálculo no se puede afinar más sin un enorme gasto de tiempo.

La suma de los cuadrados de los inversos converge a 1.33853369 

Con un par de columnas, una de cuadrados de inversos, y otra de sumas parciales, llegaremos a

Es más aproximado que el anterior, porque los sumando son más pequeños.

Los valores de la sucesión, a partir de n=4, están comprendidos entre n^2/2 y n^3/3

Aquí tienes el cálculo para los términos 401, 475 y 565:


Ajuste

Se han dado otros varios ajustes de esta sucesión, pero no ha sido posible comprobarlos con la hoja. Así que, como una práctica, ajustaremos mediante una función potencial:


No está mal, un R2=0,9975, que nos aproximaría a una potencial de exponente 2,5 aproximadamente, pero es un cálculo no muy exacto.

jueves, 3 de marzo de 2016

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

En la anterior entrada presentamos la cuestión de cuántos números de un tipo determinado aparecen entre dos primos consecutivos. Les llamamos entreprimos. Ahora estudiaremos por separado algunos casos:

Entreprimos cuadrados

El caso de los entreprimos cuadrados es muy interesante, porque con ellos estudiamos el reverso de la Conjetura de Legendre, según veremos más adelante. En la tabla que proponemos alojada en

http://www.hojamat.es/blog/entreprimos.xlsm

es muy sencillo contar los cuadrados existentes en cada fila, o destacarlos con formatos en color. También podemos usar el Basic VBA de las hojas, y por último, acudir a PARI para los recuentos. Recorremos los distintos procedimientos:

Destacar cuadrados

Lo puedes realizar manualmente, recorriendo las distintas filas y marcando con negrita o cualquier color los cuadrados que encuentres.



Te darás cuenta al hacerlo de que no hay más de un cuadrado en cada fila de entreprimos. Ya verás que esto se relaciona con la conjetura de Legendre.

Hay una forma automática de colorear todos los cuadrados. Lo hemos conseguido con las funciones de un complemento que tenemos instalado, y lo que sigue, un poco oscuro, sólo te servirá de incentivo para introducirte en el Excel avanzado, pero es bueno dejar constancia del método empleado.

Sub recorrido()
Dim i, j, m
Dim f As Boolean


For i = 4 To 200
For j = 4 To 30
m = ActiveWorkbook.Sheets(1).Cells(i, j).Value ‘Lee el valor de cada celda
If IsNumeric(m) And m > 0 Then ‘Si es un número, seguimos
f = Application.Run("escuad", m) ‘Si es un cuadrado, lo colorea
If f Then Call colorea(i, j, 1)
End If
Next j
Next i

End Sub

Sub colorea(x, y, c) ‘Rutina para colorear o borrar el color
If c = 1 Then
Cells(x, y).Interior.Color = RGB(255, 0, 0)
Else
Cells(x, y).Interior.Color = RGB(255, 255, 255)
End If
End Sub

Con estas dos rutinas podemos colorear sólo los cuadrados de cada fila.
Vemos que efectivamente, el número de cuadrados entre dos primos sólo puede ser cero o uno.



Búsqueda en Basic o PARI

Si deseamos proseguir la búsqueda de cuadrados más allá del número 1000 necesitamos algo más rápido, que nos devuelva un listado con el número de cuadrados (0 o 1) contenidos en cada intervalo entre dos primos consecutivos. La función que sigue, ampliable, encuentra los cuadrados (tipo=1) o los triangulares (tipo=2) que siguen a un primo, pero inferiores al siguiente (entreprimos)

Function num_entreprimos(n, tipo)
Dim nm, p, i

nm = 0

If esprimo(n) Then
p = primprox(n)
For i = n + 1 To p - 1
Select Case tipo
Case 1: If escuad(i) Then nm = nm + 1
Case 2: If estriangular(i) Then nm = nm + 1
End Select
Next i
End If

num_entreprimos = nm
End Function

El problema que presenta es que usa funciones diseñadas por el autor y que no siempre son fáciles de encontrar. Por eso, proponemos también la versión en PARI (para cuadrados)

numcuad_entre(n)={local(i,m=0);if(isprime(n),for(i=n+1,nextprime(n+1)-1,if(issquare(i),m+=1)));m}

En ella contamos los cuadrados (“issquare”) entre n+1 y nextprime(n+1)-1, es decir, entre los entreprimos.

Por ejemplo, detrás del primo número 1000 (7919) existe un cuadrado. Puedes comprobarlo si escribes

numcuad_entre(n)={local(i,m=0);if(isprime(n),for(i=n+1,nextprime(n+1)-1,if(issquare(i),m+=1)));m}
{print(numcuad_entre(prime(1000)))}

Lo puedes ver en esta tabla


El siguiente primo a 7919 es el 7927, y entre ambos existe el cuadrado de 89, 7921.

Listado del número de cuadrados

Hemos usado una variante para que figuren los valores en columna, con este resultado:



Estos valores coinciden con los publicados en http://oeis.org/A061265

0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,…

En dicha página Vladeta Jovovic propone una formula muy sencilla para encontrar ese número de cuadrados:

a(n) = floor(sqrt(prime(n+1)))-floor(sqrt(prime(n)))

Si las partes enteras de las raíces cuadradas de dos primos consecutivos son iguales, no existirá ningún cuadrado entre ellos, y sí habrá uno si son diferentes.

Si deseamos obtener el listado en forma de sucesión acudiremos a PARI, con un código similar al que usamos en anteriores párrafos. También de esta forma prescindimos de los complementos de Excel. Podemos usar lo siguiente:

{forprime(i=2,prime(50),c=nextprime(i+1);a=0;for(k=i+1,c-1,if(issquare(k),a+=1));print1(a,", "))}

Recorremos los primos desde el primero hasta el de orden 50 (por ejemplo). Para cada uno encontramos su siguiente primo y contamos los cuadrados (issquare) que hay entre ellos. Este listado nos servirá de modelo para otras búsquedas, y a ti para experimentar si lo deseas. Su resultado es este, que coincide con los anteriores:


Nos hemos detenido en varios procedimientos, para que veas que coinciden y también para que los conozcas previamente a las siguientes búsquedas.

Relación con la Conjetura de Legendre

¿Por qué los resultados son siempre 0 o 1? La causa es la Conjetura de Legendre:

Entre dos cuadrados consecutivos siempre existe al menos un número primo.

Si esta conjetura es cierta, sólo puede haber un cuadrado entre dos primos consecutivos, pues si hubiera al menos dos, entre ellos debería existir otro primo, con lo cual los primos dados no serían consecutivos.

Entreprimos triangulares

Con procedimientos similares podemos descubrir que entre dos primos consecutivos sólo existe un triangular o ninguno:

0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,…

Los tienes destacados en nuestra tabla de entreprimos:



Como era previsible, no coexisten dos triangulares en la misma fila, aunque observamos que el 3 es primo y triangular a la vez. Eso nos complicará una fórmula que veremos más adelante.

Puedes usar este código en PARI para obtener el listado:

{forprime(i=2,prime(100),c=nextprime(i+1);a=0;for(k=i+1,c-1,if(issquare(8*k+1),a+=1));print1(a,", "))}

(un número N es triangular si 8*N+1 es un cuadrado. De ahí la expresión “issquare(8*k+1)”)

Detrás del 2 o el 3 no aparecen triangulares. Entre el 5 y el 7 está el 6, y por eso el tercer valor de la sucesión es 1. Entre 7 y 11 se encuentra el triangular 10, pero entre 11 y 13 no hay ninguno. Así podríamos seguir comprobando la sucesión.

El que exista sólo un triangular o ninguno es consecuencia de una conjetura similar a la de Legendre:

Entre dos triangulares consecutivos siempre existe al menos un número primo.

Imitamos la fórmula de Vladeta Jovovic para cuadrados, pero para triangulares es algo más larga:

a(n) = floor((sqrt(8*prime(n+1)+1)-1)/2)- floor((sqrt(8*prime(n)+1)-1)/2)

Sólo es válida a partir del 3, porque entre el 2 y el 3 falla al ser 3 primo y triangular

Entreprimos oblongos

Los oblongos son dobles de triangulares, por lo que esperamos que sólo exista uno o ninguno en cada intervalos entre primos. ¿Será así?

En la imagen puedes ver los resultados para los primeros 400 primos, obtenidos con PARI, que hacen sospechar que sí se tiene la misma situación que con cuadrados o triangulares. Era de esperar.

También para estos valores podemos usar una fórmula similar a las anteriores:

a(n) = floor((sqrt(4*prime(n+1)+1)-1)/2)- floor((sqrt(4*prime(n)+1)-1)/2)

Con ella obtenemos el listado:

0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,…

Si usamos la tabla en hoja de cálculo observamos que en la mayoría de los casos el oblongo es el número siguiente al primo:


Es sencillo razonar que esto ocurrirá en primos que procedan de la expresión
n^ 2-n-1, que se encuentran ya publicados:

5, 11, 19, 29, 41, 71, 89, 109, 131, 181, 239, 271, 379, 419, 461, 599, 701, 811, 929, 991, 1259, 1481, 1559, 1721, 1979, 2069, 2161, 2351, 2549, 2861, 2969, 3079, 3191, 3539, 3659, 4159,…
(http://oeis.org/A002327)

¿Qué primos poseen un cuadrado y un triangular antes del próximo primo?

Después de revisar los párrafos anteriores nos damos cuenta de que algunos primos van seguidos de un cuadrado y de un triangular antes de llegar al próximo primo. Son estos:

7, 13, 23, 31, 61, 113, 167, 251, 317, 523, 619, 773, 887, 1223, 1759, 2207, 2477, 2699, 3229, 3469, 4093, 5039, 5749, 6553, 7741, 11003, 17939, 22787, 26561, 30593, 32381, 34963, 41611, 48823, 66047, 75041, 118297, 139123, 196247, 293749, 326023, 339887, 374537, 410857, 465119, 505513, 609929,…

Si recorres la tabla en la que hemos destacado tanto triangulares como cuadrados lo comprobarás:



El 3 posee dos destacados, pero hemos de desecharlo por no ser entreprimo. Después siguen con dos destacados 7, 13 y 23. El 31 sólo tiene uno, pero es que 36 es a la vez triangular y cuadrado.

Se puede reproducir el listado con este código para VBA, fácilmente trasladable a otros lenguajes:

If esprimo(i) Then

c = primprox(i)
a = 0
b = 0
For k = i + 1 To c - 1
If escuad(k) Then a = a + 1: m = k
Next k
For k = i + 1 To c - 1
If estriangular(k) Then b = b + 1: n = k
Next k
If a > 0 And b > 0 Then
ActiveWorkbook.Sheets(1).Cells(fila, 6).Value = i
ActiveWorkbook.Sheets(1).Cells(fila, 7).Value = m
ActiveWorkbook.Sheets(1).Cells(fila, 8).Value = n
'ActiveWorkbook.Sheets(1).Cells(fila, 9).Value = b
'ActiveWorkbook.Sheets(1).Cells(fila, 10).Value = c

fila = fila + 1


End If
End If

Potencias de primo no triviales

Entre dos primos consecutivos es normal que se intercale la potencia de otro primo. Por ejemplo, entre 7 y 11 figuran 2^3 y 3^2. Está publicada la lista de los primos que poseen al menos un entreprimo potencia no trivial de otro primo. Los primeros son estos:

3, 7, 13, 23, 31, 47, 61, 79, 113, 127, 167, 241, 251, 283, 337, 359, 509, 523, 619, 727, 839, 953, 1021, 1327, 1367, 1669, 1847, 2039, 2179, 2207,…
( http://oeis.org/A053607)

Por ejemplo, el 619 tiene como siguiente primo 631, y entre ambos aparece 625=5^4.

No obstante, que aparezcan dos potencias es mucho más difícil. Sólo se han encontrado cinco ejemplos menores que 2^63: 7, 23, 113, 2179, 32749 (http://oeis.org/A053706) El 7 ya lo hemos analizado. El 2179, por ejemplo, contiene las potencias 3^7 y 13^3 antes de llegar al próximo primo 2203.