lunes, 21 de octubre de 2024

Primos brasileños

En esta entrada nos plantearemos qué números primos se pueden formar con la suma de las primeras potencias de un número, es decir, cuándo una suma del tipo 1+n+n2+n3+n4+n5+…será un número primo. No consideraremos el caso en el que un primo p sea igual a 1+n, ya que esto lo cumplen todos los primos.

Esta cuestión equivale a la búsqueda de números primos que sean “repitunos” en una base de numeración dada. Por ejemplo, 31(10=111(5, ya que las tres cifras 1 provienen de la igualdad 31=1+5+52.

Función caracterizadora

En nuestras últimas entradas estamos usando funciones para Excel y Calc que devuelven una cadena de texto con los resultados. Es un formato que nos da mucha información y que es susceptible de cambios sencillos para la búsqueda de otros objetivos.

En este caso usamos la siguiente función:

Function primo_sumpot$(n)
Dim p, k, m, q
Dim s$

If Not esprimo(n) Then primo_sumpot = "NO": Exit Function
k = 2 ‘Base de las potencias
p = 1’Suma de potencias
m = 0’ Exponente
s = ""’Contenedor del resultado
q = 0’ Contador de soluciones
While k < n
p = 1 + k: m = 1’Primera suma de potencias
While p <= n
m = m + 1’ Siguiente suma de potencias
p = p + k ^ m
If p >= n Then
If p = n Then q = q + 1: s = s + " # " + Str$(k) + ", " + Str$(m) ‘Solución
End If
Wend
k = k + 1: p = 1 + k: m = 1 ‘Siguiente base de potencias
Wend
If s = "" Then s = "NO" Else s = ajusta(q) + "## " + s
primo_sumpot = s
End Function

Si buscamos con ella los primeros primos que cumplen lo exigido, obtenemos:

Observamos que la mayoría de las soluciones son del tipo 1+k+k2, como, por ejemplo, el 73, que equivale a 1+8+82.

El 31 presenta dos soluciones: 31=1+2+22+23+24=1+5+52, lo que lo convierte en “repituno” en dos bases de numeración:

31(10 = 11111(2 = 111(5

Según una conocida fórmula, estos números también se caracterizan porque para un valor adecuado de m se cumple

En efecto, 31=(25-1)/(2-1)=(32-1)/1=31

También 31=(53-1)/(5-1)=124/4=31

Para que el resultado sea primo, m ha de ser primo, pues en caso contrario el cociente presentaría más de un factor. Es un razonamiento similar al usado en los primos de Mersenne.

Estos primos están publicados en https://oeis.org/A085104

Con el afán de nombrar ciertas clases de números, a estos se les conoce como “brasileños”, porque se dieron a conocer en una olimpiada matemática celebrada en Brasil (ver https://oeis.org/A125134/a125134.pdf)

Números brasileños

Si eliminamos la condición de que N sea primo, nos resultan los números brasileños. En nuestra función suprimimos la condición de que sea primo y los obtendremos:



Están publicados en https://oeis.org/A053696

No son objeto de estudio en esta entrada, pero es aconsejable la lectura de https://oeis.org/A125134/a125134.pdf

Valores de K

La siguiente lista contiene los primeros valores de K que pueden producir un primo con la expresión que estamos estudiando, con un exponente final fijado de antemano, mayor que 2 y con tope 100:


Observamos que hay bases primas entre estos primeros pasos:



Los primos resultantes, ordenados, están publicados en https://oeis.org/A023195

3, 7, 13, 31, 127, 307, 1093, 1723, 2801, 3541, 5113, 8011, 8191, 10303, 17293, 19531, 28057, 30103, 30941,…

 

lunes, 7 de octubre de 2024

Números Bogotá

Estos números fueron llamados así por Tomás Uribe y Juan Pablo Fernández, por su similitud con los números colombianos o autonúmeros. Es un homenaje a Bernardo Recamán, matemático colombiano

(Ver mi entrada https://hojaynumeros.blogspot.com/2015/03/autonumeros-1.html)

Su definición es simple: se trata de números N que equivalen a uno de sus divisores multiplicado por el producto de sus cifras (su raíz digital). Un ejemplo es el número 520, que se puede expresar como 52*5*2, o bien 8991 = 333*(3*3*3).

Para encontrarlos podemos recorrer todos los divisores del número y verificar que el cociente entre ambos coincide con el producto de cifras de ese divisor.

Ya hemos usado la función PRODUCIFRAS, pero reproducimos aquí su versión en VBASIC:

Public Function producifras(n)
Dim h, i, s, m
if n<10 then producifras=n:exit function
h = n  ‘la variable h recoge el valor de n
s = 1 ,‘El producto comienza con un 1 en la variable s
While h > 0  ‘Mientras queden cifras…
i = Int(h / 10) ‘Se queda con todas las cifras menos la última
m = h - i * 10 ‘La variable m recoge la última cifra
h = i ‘La variable h tiene una cifra menos
s = s * m ‘La última cifra se incorpora al producto
Wend
producifras = s
End Function

(ver https://hojaynumeros.blogspot.com/2018/09/permutacion-de-cifras-al-sumar-su.html)

Si contamos con esta función u otra similar, es fácil construir un criterio para saber si un número es Bogotá o no. Últimamente hemos optado por funciones en modo texto, porque en sus valores podemos incluir el número de soluciones y la expresión de cada una mediante el producto pedido (en este caso). En su listado se usan funciones que han aparecido en algún momento en mis publicaciones:

Function esbogota$(n)
Dim k, m, j, c
Dim noes As Boolean
Dim s$, t$

If n = 1 Then esbogota = "1*1": Exit Function Caso especial
k = 2 ‘Primer divisor
noes = True ‘Suponemos que no existe solución
s = "" ‘Contenedor de la solución
c = 0 ‘Contador de soluciones
While k <= n  And noes ‘Recorremos divisores incluido n
If n / k = n \ k Then ‘Es divisor
If n = k * producifras(k) Then ‘Es número Bogotá
t = ""
c = c + 1 ’Una solución más, y se construye a continuación
For j = numcifras(k) To 1 Step -1: t = t + "*" + ajusta(cifra(k, j)): Next j
s = s + " # " + Str$(k) + t
End If
End If
K=k+1 ‘Siguiente divisor
Wend
If s = "" Then s = "NO" Else s = ajusta(c) + " : " + s
esbogota = s
End Function

Para estar escrita en VBasic, no es lenta. Esta tabla es un ejemplo de su utilidad:



Aquí todos presentan una sola solución, pero entre las soluciones menores ya aparecen con dos o tres soluciones:

Estos son los primeros ejemplos con dos soluciones:

Están publicados en https://oeis.org/A336944

El listado de los primeros números de Bogotá de cualquier número de soluciones es:

1, 4, 9, 11, 16, 24, 25, 36, 39, 42, 49, 56, 64, 75, 81, 88, 93, 96, 111, 119, 138, 144, 164, 171, 192, 224, 242, 250, 255, 297, 312, 336, 339, 366,…

Están publicados en https://oeis.org/A336826

En esta página se proponen algunas cuestiones, y aquí plantearemos alguna otra.

Se advierte que los números “repidígitos” son todos de Bogotá, como es fácil razonar: 1111=1111*1*1*1*1. Entre ellos figuran algunos primos, que son los únicos posibles (ver https://oeis.org/A004022).

Ningún número múltiplo de 10 será de este tipo, porque la cifra 0 final anulará el producto de las cifras.

Se puede usar el hecho de que el producto de las cifras ha de ser 7-liso, ya que los números del 2 al 9 sólo poseen como factores primos 2, 3, 5 y 7. No hemos encontrado ventajas en usar este hecho

 (ver https://es.wikipedia.org/wiki/N%C3%BAmero_liso)

 
Números de Bogotá consecutivos

Al usar cifras, la existencia de estos pares será algo casual. Como poseemos la función esbogota(), bastará exigir que tanto N como N+1 sean de este tipo. Con un buscador apropiado se pueden encontrar:


Puedes consultar
https://oeis.org/A336864

También podemos buscar el par (N, N+2):


Estos números no están publicados en OEIS.

Ya puestos, podemos buscar pares (N,2N):


Invitamos a los lectores a buscar más casos, que estarán inéditos muchos de ellos.

Números de Bogotá especiales

En los primeros números de este tipo figuran cuadrados, como 36 o 49. ¿Cuáles serán los siguientes? Para encontrarlos usaremos nuestra función ESCUAD junto a ESBOGOTA:


Esta sucesión también está inédita.

De igual forma se pueden buscar:

Triangulares


Oblongos N(N+1)



Potencias de exponente mayor que 2


Otras variantes

Con lo explicado, es fácil encontrar variantes de estos ejemplos. Si se busca en OEIS “Bogotá numbers”, se encuentran definiciones parecidas y algunas relaciones con los números de Recamán.