lunes, 16 de mayo de 2022

Medias de tres primos consecutivos

Puede ser interesante estudiar la media aritmética de tres números primos consecutivos. En algunos casos, coincide con el primo central, que en ese caso sería equilibrado. No es esto infrecuente, pues los primos pueden ser del tipo 4k+1 o 4k-1, y también 6k+1 y 6k-1, además de otras pautas. También puede ocurrir que la media sea un tipo especial de número, como cuadrado, triangular u oblongo. Organizaremos búsquedas ordenadas y, entre ellas aparecerán casos que ya estén estudiados o que presenten propiedades interesantes.

Primo equilibrado

Con cualquier lenguaje de programación bastará exigir que

(prevprime(n)+n+postprime(n)/3=n

Se entiende que prevprime y postprime son los primos adyacentes a n. En todos los lenguajes se usan palabras similares. En este blog usamos PRIMANT y PRIMPROX, para hojas de cálculo.

Así que nuestra función para detectar primos equilibrados será:

Function primoequil$(n)

Dim s$

s = ""

If esprimo(n) Then

If (primant(n) + n + primprox(n)) / 3 = n Then s = Str$(primant(n)) + " ; " + Str$(primprox(n))

End If

primoequil = s

End Function

Le hemos dado carácter de string para que recoja los dos primos adyacentes.

Los primeros primos de este tipo son


Junto a cada uno figuran sus dos primos contiguos. Podemos añadir las diferencias con el centro, para más información.


Estos números están publicados en
http://oeis.org/A006562

5, 53, 157, 173, 211, 257, 263, 373, 563, 593, 607, 653, 733, 947, 977, 1103, 1123, 1187, 1223, 1367, 1511, 1747, 1753, 1907, 2287, 2417, 2677, 2903, 2963, 3307, 3313, 3637, 3733, 4013, 4409, 4457, 4597, 4657, 4691, 4993, 5107, 5113, 5303, 5387, 5393,…

En la tabla de arriba, salvo el caso especial de 3, 5 y 7, todas las diferencias son múltiplos de 6 ¿Será así siempre?

En este mismo blog ya se ha razonado la respuesta afirmativa:

Las diferencias, salvo en el 5, son múltiplos de 6. La razón es que a partir del 5 todos los primos son del tipo 6n+1 o 6n+5. En las ternas que se forman tienen que ser todos del mismo tipo, ya que si el primero es 6n+1 y el segundo 6m+5, el tercero tendría el tipo 6m+5+(6k+4)=6h+3, no primo. Igualmente, si el primero es tipo 6n+5 y el segundo 6m+1, el tercero sería 6m+1+(6h+2). Lo puedes ver con Z6: Si el primero tuviera resto 1 y el último resto 5, el promedio presentaría resto 3 y no sería primo. Igual con los otros casos.

https://hojaynumeros.blogspot.com/2015/07/formas-de-ser-un-numero-equilibrado-3.html

Por ejemplo, el primer primo que es media entre su anterior y posterior con diferencia 30 es 69623, que forma la progresión (69593, 69623, 69653)

Se ha conjeturado que existen infinitos primos equilibrados.

Desviaciones respecto al equilibrio

Si el primo central no es equilibrado, la media será mayor o menor que él, se desviará una “distancia” o diferencia. Salvo con el 2, siempre será par.

Podemos introducir esa distancia como parámetro en la función anterior:

Function primoequil(n, d)

Dim s, m

s = 0

If esprimo(n) Then

m = (primant(n) + n + primprox(n)) / 3 - n

If m = d Then s = m

End If

primoequil = s

End Function

Tal como está planteado, se desecharán las medias que no sean enteras, y el resultado será 0. Así que esta función devuelve un cero si no se da la diferencia dada, o esa diferencia si es válida. Por ejemplo, con ella hemos encontrado los primeros números en los que la media sobrepasa al primo central en 2 unidades:

No abundan las diferencias grandes: el número 5749 es el primero que presenta una diferencia de 8, porque la media es 5757. De igual manera, 15823 es el primero que presenta diferencia 10. Estos son los siguientes:

40289         d=16

45439         d=12

Podíamos buscar diferencias negativas:

Estos son los primeros primos con diferencia -4 (para ello hay que cambiar la declaración de variables a integer)



Media triangular

Podemos ahora investigar cómo son las medias entre tres números primos consecutivos, de qué tipo son. Las más interesantes son las de tipo polinómico, como triangulares, cuadradas y cúbicas. Recorreremos estos tres tipos abordando la búsqueda desde dos puntos de vista. Por un lado nos basaremos en los tres primos consecutivos, y, por otro, en los valores de N en los que se basan las fórmulas polinómicas.

Comenzamos con medias triangulares. Elegimos primos, y le calculamos la media de ellos con los dos siguientes. Si es triangular, la aceptamos. Usaremos PARI porque los números a manejar serán grandes.

El criterio para saber si un número es triangular es el conocido de que 8*n+1 sea cuadrado. De esta forma, la búsqueda queda así en PARI:

18713, 27253, 35227, 45433, 138587, 251677, 283861, 425489, 462221, 463189, 486583, 634493, 694409, 826211, 943231, 1103341, 1163557, 1181927, 1214453, 1282387, 1462891, 1509439, 1925681, 1931569,…

(Publicados en http://oeis.org/A226150)

Hemos usado aquí, en la web de PARI/GP https://pari.math.u-bordeaux.fr/gp.html un código mucho más simple que en la página enlazada:

ok(n)={my(m=nextprime(n+1),p=nextprime(m+1),r=(n+m+p)/3);isprime(n)&&issquare(8*r+1)}

for(i=2,2*10^6,if(ok(i),print1(i,", ")))


El otro procedimiento consiste en ir recorriendo los números triangulares n(n+1)/2 y detectar los primos más cercanos consecutivos. Como vimos en la primera parte de este estudio, la media de tres primos puede caer a la derecha o a la izquierda del central, por lo que esa detección se ha de efectuar dos veces. En este listado para Excel se comprende bien:

Function media_tres_prim(n)

Dim a, p, q, r, s, u, v, m

m = 0

a = n * (n + 1) / 2 ‘Se construye el número triangular

p = primprox(a): q = primprox(p): r = primant(a): s = primant(r)

u = (p + q + r) / 3: v = (s + r + p) / 3’Se estudian dos posibles medias

If u = a Then m = r ‘La media queda a la derecha

If v = a Then m = s ‘O a la izquierda

media_tres_prim = m

End Function

De una forma bastante rápida se reproduce el listado anterior y, además, nos devuelve los órdenes N de los números triangulares

Se comprende que es un método mucho más eficiente. Los números de la primera columna están publicados en http://oeis.org/A226147

 

Media cuadrada

Para encontrar casos con media cuadrada, bastará cambiar n(n+1)/2 por n^2 en Excel y 8*n+1 por n en PARI

En Excel nos resultarían:

 


Las bases de la primera columna están publicadas en http://oeis.org/A226146

En PARI, el primer primo resulta así:

ok(n)={my(m=nextprime(n+1),p=nextprime(m+1),r=(n+m+p)/3);isprime(n)&&issquare(r)}

for(i=2,1600000,if(ok(i),print1(i,", ")))

Simplemente hemos sustituido issquare(8*r+1) por issquare(m)


Media cúbica

Cambiando n^2 o n*(n+1)/2 en la función de arriba por n^3, resultan las bases y los primos iniciales de la terna para este caso:

53      148867

131   2248069

179   5735291

219   10503443

227   11697073

419   73560043

489   116930119

633   253636087

733   393832819

913   761048471

925   791453099

1021 1064332237

1223 1829276531

1247 1939096199

1263 2014698431

Y su código en PARI:

ok(n)={my(m=nextprime(n+1),p=nextprime(m+1),r=(n+m+p)/3);isprime(n)&&ispower(r,3)}

for(i=2,10^7,if(ok(i),print1(i,", ")))

Por terminar las búsquedas, nos quedamos con las potencias cuartas:

Cuarta potencia

7        2393

35      1500613

69      22667111

85      52200611

91      68574943

117   187388689

 

Queda a los lectores el reto de adaptar el código para este caso y probar otros números poligonales.

miércoles, 4 de mayo de 2022

Regresos 3: Números intocables

Hoy regresamos a la fecha del 10 de junio de 2011, en la que publicamos la entrada “Cribas y barridos 1. Números intocables”. La primera parte trata del uso de las hojas de cálculo para cribar números según sus propiedades. Ahora nos interesa más un ejemplo concreto que se usó en ese estudio, el de los números intocables.

Se llaman así a aquellos números que no pueden ser el resultado de la suma de las partes alícuotas de otro número, es decir, de la suma de sus divisores propios. Por ejemplo, el 88 no coincide con el resultado de sumar los divisores propios de ningún número natural. Si efectuamos un barrido de los N primeros números y anotamos el resultado de esa suma, ningún resultado coincidirá con 88.

Los primeros números intocables son 2, 5, 52, 88, 96, 120, 124, 146, 162, 188, 206, 210, 216, 238, 246, 248, 262, 268, 276, 288, … http://oeis.org/A005114

Puedes aprender algo sobre estos números en la Red. Por ejemplo en

 http://mathworld.wolfram.com/UntouchableNumber.html,

No dan mucho de sí. Se aprenden sus propiedades en pocos minutos.

Para saber si un número es intocable o no, necesitaremos evaluar la suma de divisores propios de cualquier número (o partes alícuotas). Con una búsqueda exhaustiva podemos construir la función alícuota:

public function alicuota(n)

dim i,s

s=0

 

for i=1 to n/2 ‘El divisor propio máximo posible es n/2

if n/i=n\i then s=s+i ‘Si encuentro un divisor propio, lo sumo

next i

alicuota=s

End function

Esta función recorre los posibles divisores propios, con la prueba n/i=n\i, que equivale a afirmar que el cociente n/i es entero y que por tanto i divide a n. El resto se entiende fácilmente.

Si se dispone de la función SIGMA, es claro que es más sencillo el uso de ALICUOTA(N)=SIGMA(N)-N

Es lo que ocurre en el lenguaje PARI, que podemos usar sigma(n)-n. En este blog también puedes encontrar la función SIGMA para Excel o Calc.

Función de búsqueda

Si deseamos saber si un número es intocable o no, deberemos recorrer “muchos” números consecutivos y comparar su función ALICUOTA o SIGMA(N)-N con el número dado, pero el problema radica en cuántos son “muchos”. En OEIS usan la cota (n-1)^2, basándose en la desigualdad s(n)-n >= sqrt(n)+1 para números compuestos. Así lo haremos aquí. Al final de la entrada esbozamos una demostración de esta desigualdad.

Con esta cota, es fácil encontrar (pero puede que muy lento) si un número es intocable o no:

Esta puede ser la función:

 

Function intocable(n) As Boolean

Dim i

Dim m As Boolean

 

m = True ‘Suponemos que sí es intocable

i = 1

While i <= (n - 1) ^ 2 And m ‘Recorremos casos hasta (n-1)^2

If fsigma(i, 1) - i = n Then m = False ‘Si n es sigma, no es intocable

i = i + 1

Wend

intocable = m

End Function

Con esta función es fácil organizar un bucle de búsqueda en Excel, con el mismo resultado que el publicado en OEIS:

Este proceso tiene fácil traducción al lenguaje PARI:

intocable(n)={my(m=1,i=1);while(i<=(n-1)^2&&m==1,if(sigma(i)-i==n,m=0);i+=1);m}

for(m=2,1000,if(intocable(m),print1(m,", ")))

Con este código obtenemos los intocables inferiores a 1000

Se conjetura que el único intocable impar es el 5. Se ha demostrado que sería cierta si también lo es la de Goldbach, por lo que es, por ahora, un problema abierto. Si fuera cierto, los únicos primos intocables serían 2 y 5.

Ya afirmábamos en este blog hace 12 años que estos números no presentan muchas propiedades. Además de en  http://oeis.org/A005114 puedes buscar “untouchable numbers” en la Red.

Algunos tipos de intocables

Nosotros ahora nos dedicaremos a tipos especiales de intocables. Ya sabemos que primos solo están 2 y 5, y que impar solo el 5, y se puede demostrar que no habrá números perfectos, amigos o iguales a un primo más la unidad, pero, por ejemplo, ¿habrá cuadrados o triangulares? Adjuntamos a continuación algún resultado:

Triangulares: Si añadimos en PARI la condición issquare(8*m+1), que es la que detecta triangulares, encontramos que sí existen de ese tipo. Estos son los primeros triangulares intocables:

120, 210, 276, 406

Como el proceso es lento, nos basta con saber que existen esos cuatro.

Oblongos: Con la condición issquare(4*m+1) descubriremos oblongos:

También existen, y los primeros son:

2, 210, 306, 342, 552, 756

Cuadrados: Existen al menos tres: 324, 576 y 784

Otra posible definición

Ya planteábamos esta pregunta en la anterior entrada sobre estos números:

¿Qué ocurriría si exigiéramos que no coincidieran con la suma de divisores propios, sino con la suma de todos (función SIGMA)? Nos daría una lista (más numerosa) de números intocables de otro tipo.

Si adaptamos lo anterior eliminando el restar el número de su sigma, efectivamente, resultan tantos números que la cuestión pierde interés:

2, 5, 9, 10, 11, 16, 17, 19, 21, 22, 23, 25, 26, 27, 29, 33, 34, 35, 37, 41, 43, 45, 46, 47, 49, 50,…

Los tienes estudiados en http://oeis.org/A007369

 

ANEXO

Demostración de s(n)-n >= sqrt(n)+1 para números compuestos

Nos basamos en cualquiera de estas dos fórmulas equivalentes para s(n)

En ambas, p representa a los factores primos y e a sus exponentes.

Lo efectuaremos por fases. Por comodidad tipográfica, representaremos la raíz cuadrada como sqrt

(1) En los semiprimos:

(1a) Si n es un cuadrado, n=p2, con p primo, s(n)=1+p+p2,(ver las fórmulas de s(n)) luego s(n)-n=1+p=1+sqrt(n). Se cumple con igualdad.

(1b) Si n no es cuadrado, n=ab, con a distinto de b, y s(n)=(1+a)(1+b)=1+a+b+ab, luego

s(n)-n=1+a+b=1+2(a+b)/2>1+2sqrt(ab)>1+sqrt(n)

Nos hemos basado en que la media aritmética (a+b)/2 es mayor que la geométrica sqrt(ab)

(2) Por inducción:

Si la propiedad es verdadera para dos factores, bastará estudiar qué ocurre cuando se agrega un nuevo factor primo.

Sea n1=n*a, con n compuesto. Consideremos dos casos, que a sea ya un factor de n o que sea nuevo.

(2a) Si a no es factor de n, s(n1)=s(n)*(1+a), por ser una función multiplicativa. Ahora, si se cumple la desigualdad para n, tendremos;

s(n1)=s(n)*(1+a)>(1+sqrt(n))*sqrt(a)sqrt(a)>1+sqrt(n*a)

(3b) Si a es factor de n, quedaría, siendo e su exponente en n,

s(n1)=s(n)(ae+1-1)/(ae-1) (cambia un numerador por otro en la primera fórmula)

(ae+1-1)=(a*ae-a+a-1)=a(ae-1)+a-1,

s(n1)=s(n)(a(ae-1)+a-1)/(ae-1)= s(n)*a+s(n)*(a-1)/(ae-1)= s(n)*a+M*(a-1),siendo M un número natural (porque (ae-1) divide a s(n). Así llegamos como en el caso 3a, que

s(n1)>1+sqrt(n)*sqrt(a)sqrt(a)>1+sqrt(n*a)

 

 

miércoles, 20 de abril de 2022

Números consecutivos con una suma del mismo tipo

 

En mis cálculos diarios de Twitter uso a menudo el concepto de suma simétrica, en la que considero tres sumandos con un repetido, y que los tres presenten una misma propiedad. Por ejemplo, 80=23+43+23, es decir, una suma simétrica de cubos. Lo curioso en este caso es que su consecutivo, 81, también presenta esa misma propiedad, ya que 81=33+33+33. ¿Existirán muchos pares de este tipo, que sean consecutivos y con el mismo tipo de suma simétrica?

Como la búsqueda promete ser larga, la dividiremos en tipos. Es ya frecuente en este blog, interrumpir un estudio cuando se perciba que la cuestión se alarga o pierde interés.

Suma simétrica de cubos

Comenzamos por este caso por ser el primero que se consideró. Además del par 80, 81 existen otros, como veremos.

En primer lugar, necesitaremos saber cuándo un número se puede expresar como suma simétrica de cubos. El objetivo inmediato es conocer la forma de identificar un cubo. El problema lo constituyen los decimales y el redondeo, por lo que podemos usar una identificación en dos pasos, extrayendo la raíz cúbica y más tarde comprobar que su cubo coincide con el número deseado. Sería algo así:

Function escubo(n)

Dim a

a = Int(n ^ (1 / 3) + 10 ^ (-6))

If a * a * a = n Then escubo = True Else escubo = False

End Function

 

Un criterio más fiable, pero más lento, es el de extraer los factores primos y exigir que todos los exponentes sean iguales a 3 (o a un múltiplo de 3). Disponemos de una función diseñada para encontrar el exponente común mínimo entre los factores primos de un número natural. Sería esta otra:

Public Function espotencia(n)

Dim i, j, s, p

If n = 1 Then espotencia = 0: Exit Function

p = n

j = sacaprimos(p) ‘Construye la descomposición factorial

s = expo(1)

If j > 1 Then

For i = 2 To j

s = mcd(s, expo(i)) ‘Elige el mínimo MCD de los exponentes

Next i

End If

If s = 1 Then s = 0

espotencia = s

End Function

 

Devuelve el MCD de los exponentes, y si es 3 o múltiplo de 3, ya tenemos un cubo.

En este proceso usaremos la primera versión para encontrar soluciones, y luego verificaremos con la segunda, que es más lenta, sin publicar de nuevo los resultados.

Una vez identificados los cubos, habrá que determinar si un número es suma simétrica de dos cubos. Para eso estaría esta otra función:

Public Function sumasimcubos(n) As Boolean

Dim i, m

Dim novale As Boolean

i = 1

novale = True

While i < (n - 1) ^ (1 / 3) And novale ‘Buscamos el sumando central

If escubo((n - i ^ 3) / 2) Then novale = False ‘Restamos y dividimos entre 2 para ver el otro

i = i + 1

Wend

sumasimcubos = Not novale

End Function

 

Esta función te indica si un número es suma de cubos simétricos o no. Ya solo queda aplicarle esta prueba a dos números consecutivos. En la práctica, la función va a devolver la suma en modo texto, pero no se quería complicar esta explicación. Aplicada de esta forma, nos da los siguientes pares:


Por ejemplo:

176200=443+183+443 y  176201=173+553+173

El lenguaje PARI devuelve resultados con más rapidez, por lo que también es conveniente adaptar a él este proceso. Así llegamos un poco más lejos, pero no se ha pretendido agotar el tema y hemos detenido la búsqueda en 300000

scube(n)={my(i=1,m); while(i<(n-1)^(1/3),m=(n-i^3)/2; if(ispower(m,3),return(1));i+=1)}

ok(n)=scube(n)&&scube(n+1)

for(i=1,300000,if(ok(i),print1(i,", ")))

80, 344, 3429, 7290, 12393, 14749, 61318, 85751, 92609, 95010, 120311, 167399, 170173, 171181, 173743, 173778, 176200, 185442, 250063, 252046, 277694,…

Búsqueda directa con Excel

Podemos organizar una tabla de doble entrada XY en cuyo interior situemos las sumas x3+2y3, y no tendremos más que buscar consecutivos. En la imagen están destacados cuatro pares:


Esto no sería fiable, porque la vista nos puede engañar y perdernos un par. Lo indicado aquí sería escribirlos en columna, ordenarlos después y comprobar que los consecutivos que cumplen la propiedad caen uno debajo del otro.


Este procedimiento sí nos daría más seguridad, pero, o se resolvía con macros, o nos tendría bastante tiempo ocupados. Dejamos esa puerta abierta a nuevos métodos

Suma de  potencias

Después de investigar sobre cubos, lo indicado es pasar a los cuadrados u otras potencias. Con cuadrados aparecen tantos ejemplos que hacen perder el interés por la búsqueda. Si en las funciones usadas para los cubos vamos cambiando los exponentes 3 por 2, obtendremos las sumas simétricas de cuadrados. Los primeros casos de consecutivos son estos:


Llama la atención la aparición de conjuntos de tres consecutivos, como 17, 18, 19, o 66, 67, 68. Como simple curiosidad, se adjuntan a continuación los primeros:

Su misma abundancia le resta interés.

Cuartas potencias

Este caso es mucho menos frecuente. Volvemos a adaptar la función para cubos cambiando 3 por 4 y obtenemos una primera solución:

14802=74+104+74         14803=34+114+34

No existen, al parecer, otras soluciones menores que 106, por lo que dejamos abierta la búsqueda.

Como es nuestra norma, paramos aquí las potencias, para no alargar. Con lo publicado ya hay información suficiente para los lectores que deseen emprender otras búsquedas.

Otros tipos

Al comenzar a redactar esta entrada parecía que existiría gran variedad de soluciones en otros tipos de números, pero la realidad nos ha devuelto casos con demasiados resultados o con demasiado pocos. Esto hace perder interés a lo que sigue, pero hemos preferido mantenerlo.

Triangulares

Este tipo de números lo consideramos muy a menudo en nuestras búsquedas, porque no suele defraudar. Habrá que alterar ligeramente nuestra función, pues usaremos ESTRIANGULAR, que puedes encontrar en muchas entradas de este blog. Quedaría la función así (la seguimos llamando sumasimcubos):

Public Function sumasimcubos$(n)

Dim i, m, p, q

Dim s$

i = 1

s = ""

While i < Sqr(2 * n) And s = "" ‘El mayor triangular sería Sqr(2*n)

q = i * (i + 1) / 2 ‘Se construye el primer triangular

m = (n - q) / 2 ‘Diferencia para encontrar los simétricos

If estriangular(m) And m > 0 Then  s = Str$(m) + ", " + Str$(q) + ", " + Str$(m) ‘Es triangular y paramos

i = i + 1

Wend

sumasimcubos = s

End Function

Con esta función se obtienen muchas soluciones, como nos ocurrió con los cuadrados:



No tiene interés seguir.

Oblongos

Es inútil buscarlos, porque todos son pares y no puede darse la propiedad buscada en dos números consecutivos, uno par y otro impar.

Primos

Para que se cumpla lo que pretendemos, en uno de los consecutivos el primo central deberá ser 2, pero no tendremos esto en cuenta y sustituiremos triangular por primo y estriangular por esprimo. Como no existe fórmula para los primos, usaremos la función para el próximo primo PRIMPROX. Todas ellas ya han sido usadas en otras entradas.

Al ser obligada la presencia del 2 en uno de los números hace que aparezcan muchos consecutivos en los que el término central es 2 en el menor y 3 en el mayor, como puede comprobarse en este resultado:


También aquí obtenemos muchos resultados. Nos estamos quedando con pocos tipos interesantes. Hemos intentado con los números de Fibonacci y también resultan muchas soluciones, demasiadas para sacar consecuencias interesantes. Con los factoriales también se desvirtúa la búsqueda con 1! y 2! que son consecutivos. Así que hasta aquí llegó el estudio.

 

 

miércoles, 6 de abril de 2022

Relaciones entre números con cifras simétricas

Efectuar comparaciones teóricas basadas en las cifras de un número en base diez no es muy matemático, por lo que consideraré este tema como un mero entretenimiento. Su objetivo principal será el de practicar funciones, búsquedas y algoritmos. Estudiaremos números simétricos en sus cifras, en los que las de uno sean iguales a las del otro, pero en orden inverso. Para evitar casos ambiguos o singulares, prescindiremos de los múltiplos de 10, para así no considerar el cero a la izquierda que supone, en realidad, que el número de cifras es distinto en ambos, el número y su simétrico. También, en algunas cuestiones no consideraremos los números capicúas o palindrómicos.

Recorreremos algunas propiedades que pueden presentar ambos, número y simétrico.

La diferencia es divisor de ambos

En Excel poseemos una función propia de autor, CIFRAINVER, que transforma un número en su simétrico en cifras. Como explicarla no es un objetivo de este texto, la incluimos en un Anexo al final de la entrada. El resultado de esta función se puede manejar como un número y operar con él normalmente. Así, la diferencia entre un número y su simétrico vendrá dada por d=n-CIFRAINVER(n) y si no es nulo (sería un capicúa) nos preguntaremos si ambos números simétricos son múltiplos de d. Buscamos esas condiciones y obtendremos las soluciones:

45, 54, 495, 594, 4356, 4545, 4995, 5454, 5994, 6534, 10890, 19602, 20691, 29403, 30492, 39204, 40293, 43956, 45045, 49005, 49995, …

Si la diferencia entre dos números es divisor de ambos, sabemos que será su máximo común divisor, lo que sería una definición alternativa de esta búsqueda.

Por ejemplo, 59994-49995=9999, que es M.C.D. de ambos, como puedes comprobar con la fórmula M.C.D(59994;49995).

Para confeccionar una lista podríamos exigir que cada término fuera menor que su simétrico, y así se evitarían duplicaciones en los pares de números, como ha ocurrido con 495 y 594.

Planteado así, resultan los siguientes términos de una sucesión:

45, 495, 4356, 4545, 4995, 19602, 29403, 39204, 43956, 45045, 49005, 49995, 68607, 197802, 296703, 395604, 439956, 450045, 454545, 494505, 495495, 499995, 593406, 692307, 791208, 890109, 1979802, 2969703, 3959604, 4399956, 4500045, 4549545, 4949505, 4950495, 4999995, 5939406, 6929307, 7919208, 8909109,…

Entre ellos figuran los números del tipo 4999..995. Es fácil encontrar la causa, ya que estos números equivalen a 5*(10k-1), y sus simétricos (del 5999…994) tienen la forma 6*(10k-1). Al restarlos resulta 6*10k-6-5*10k+5=10k-1=999…99, que divide a ambos. Cuando ocurre esto, sabemos por el algoritmo de Euclides, que la diferencia será el M.C.D.

Puedes efectuar razonamientos similares con 4545…45 y con 4500…045.

Con el lenguaje PARI se consigue el mismo resultado. Hemos usado el siguiente código:

ok(n)={my(k,d);k=eval(concat(Vecrev(Str(n))));d=abs(n-k);n%10<>0&&d==gcd(n,k)&&n<k}

for(i=1,100000,if(ok(i),print1(i,”, “)))

Con él se consigue la misma sucesión:


El cuadrado de uno es simétrico con el del otro

En esta serie de búsquedas estamos tratando con números simétricos en la base de numeración 10. Por eso viene bien un regreso a una de nuestras entradas de hace años, en la que proponíamos algunos retos.

https://hojaynumeros.blogspot.com/2009/03/cuadrado-del-simetrico-o-simetrico-del.html

En concreto,  se basaban en una mención de una propiedad publicada por Claudi Alsina, en su libro “Vitaminas matemáticas”, y es que el número 12 presenta la siguiente propiedad: 122 = 144 y 212 = 441, es decir, que el cuadrado de su número simétrico en cifras coincide con el simétrico de su cuadrado.

Con el uso de nuestra función CIFRAINVER podemos ampliar y resolver por algoritmo las propuestas que se efectuaban sobre esta situación. Usaremos una función con una sola línea, que devolverá si esta propiedad se verifica (VERDADERO) o no (valor FALSO). Es esta:

 

Function cuadsimetrico(n) As Boolean

Dim m

m = cifrainver(n)

cuadsimetrico = (n ^ 2 = (cifrainver(m ^ 2)) And n < m)

End Function

En ella se asigna como valor de salida la igualdad entre el cuadrado del número y el simétrico del cuadrado del simétrico. Se le añade la condición de que el número sea menor que su simétrico, para evitar palíndromos y repeticiones. Con ella se puede reproducir la lista de soluciones propuesta en esta antigua entrada:

12, 13, 102, 103, 112, 113, 122, 1002, 1003, 1011, 1012, 1013, 1021, 1022, 1031, 1102, 1103, 1112, 1113, 1121, 1122, 1202, 1212, 2012, 2022, 10002, 10003, 10011, 10012, 10013, 10021, 10022, 10031, 10102, 10103, 10111, 10112, 10113, 10121, 10122, 10202, 10211, 10212, 10221, 11002, 11003, 11012, 11013, 11021, 11022, 11031, 11102, 11103, 11112, 11113, 11121, 11122, 11202, 12002, 12012, 12102, 12202, 20012, 20022, 20112, 20122,

En http://oeis.org/A106323 figura una sucesión similar, y con casi todos los elementos comunes, pero no exige que las bases de los cuadrados sean simétricas. Por eso admite el 33 y el 3168.

En la entrada recordada se razonaba que en estos números no podían figurar las cifras comprendidas entre 4 y 9, porque producirían arrastres de cifras al calcular su cuadrado. Por una razón similar, no existen soluciones que terminen en 23, pues 2*3+3*2=12 y produce un arrastre de 1.

 

El producto de simétricos produce un capicúa

Para encontrar las soluciones usamos una función similar a la de la cuestión anterior:

Public Function producapicua(n) As Boolean

Dim m

m = cifrainver(n)

producapicua = escapicua(n * m) And n < m

End Function

En ella exigimos que el producto de simétricos sea capicúa y que el número devuelto por la función sea el menor del par.

La función escapicua se limita a exigir que cifrainver(n)=n

El listado obtenido con ella es:

12, 21, 102, 112, 122, 201, 211, 221, 1002, 1011, 1012, 1021, 1022, 1101, 1102, 1112, 1121, 1201, 1202, 1211, 2001, 2011, 2012, 2021, 2101, 2102, 2111, 2201, 10002, 10011, 10012, 10021, 10022, 10102, 10111, 10112, 10121,…

Vemos que aquí también existe restricción de cifras, por una cuestión de arrastres en las operaciones de multiplicar.

 Hemos tomado el menor. Si consideramos el par de simétricos, encontraremos la sucesión en http://oeis.org/A048344:

A048344              a(n) * a(n)_reversed is a palindrome (and a(n) is not palindromic).      

12, 21, 102, 112, 122, 201, 211, 221, 1002, 1011, 1012, 1021, 1022, 1101, 1102, 1112, 1121, 1201, 1202, 1211, 2001, 2011, 2012, 2021, 2101, 2102, 2111, 2201, 10002, 10011, 10012, 10021, 10022, 10102, 10111, 10112, 10121, 10202, 10211, 11001

No exige que el número sea menor que su simétrico. Por eso se obtiene el doble de soluciones.

Un ejemplo: 2102*2012=4229224

Los dos simétricos son del mismo tipo

Si usamos las funciones propias escuad, estriangular o esoblongo, por ejemplo (puedes buscarlas  en este blog) obtendremos los simétricos que coinciden en su tipo.

Primos

El caso de primos está muy estudiado, y se les llama omirp o emirp en inglés (ver http://oeis.org/A006567)

En este blog hemos estudiado los “palprimos”, o primos palindrómicos:

https://hojaynumeros.blogspot.com/2016/05/palprimos-primos-palindromicos.html

Triangulares

Para encontrar números triangulares simétricos y que no sean capicúas ni múltiplos de 10 (para que tengan igual número de cifras) podemos usar esta condición:

 a=cifrainver(i)

estriangular(i) And estriangular(a) And i < a And i / 10 <> i \ 10

Al exigir que i<a nos quedamos con los valores menores de cada par. Hay pocos, por lo que entre 1 y 20000 sólo hemos encontrado 153 y 17578. No hemos seguido, porque ya están publicados en

http://oeis.org/A066528:

153, 351, 17578, 87571, 185745, 547581, 1461195, 5911641, 12145056, 12517506, 60571521, 65054121, 304119453, 354911403,…

Con nuestra función Ordentriang (también la puedes buscar en este blog) podemos comprobar alguno de los pares:

12517506=5003*5004/2       

60571521=11006*11007/2

Ambos son triangulares.

No hay más que añadir, ya se indicó que este tema es poco matemático.

Cuadrados

Es la misma cuestión que planteamos antes, pero sin exigir que si los números son cuadrados, las bases también lo sean. Si seguimos exigiendo que no sean capicúas ni múltiplos de 10, queda como condición

a = cifrainver(i)

escuad(i) And escuad(a) And i < a And i / 10 <> i \ 10

Obtenemos:

Coinciden con los publicados en http://oeis.org/A156316

Oblongos

Hay pocos ejemplos. Hemos encontrado tres sin esfuerzo:

29756, 2150622, 2898506.

Aquí podemos comprobar que ambos son oblongos:

29756 =172*173

65792 =256*257

 

2150622 =1466*1467

2260512 =1503*1504

 

2898506 =1702*1703

6058982 =2461*2462

 

Cubos

No parecen existir soluciones con menores que 2*10^7

Si exigimos que ambos sean son suma de cubos, ahí sí existen soluciones (figuran los menores de cada par y no múltiplos de 10):

1008, 1332, 1339, 4608, 13895, 14364, 16263, 19773, 27027, 32535, 39528, 107136, 119853, 157248, 158184, 179513, 195237, 199143, 318968, 373464, 399665, 406224, 422218, 476379,

Por ejemplo, 27027=30^3+3^3 y 72072 =32^3+34^3

Esto no da más de sí. Ya se advirtió al principio que era un tema poco matemático, pero igual alguien que lea esta entrada le puede servir para que se le ocurran ideas similares.


ANEXO

Función CIFRAINVER

Convierte un número en su simétrico en cifras. Lo devuelve como tal número, por lo que se puede operar con él con las distintas operaciones matemáticas y funciones.

 

Public Function cifrainver(n)

Dim l, i

Dim c

Dim auxi$, auxi2$, ci$

' invierte el orden de las cifras para dar otro

If n < 10 Then cifrainver = n: Exit Function  ‘Número de una cifra

auxi = haztexto(n) ‘Convierte el número en texto

auxi2$ = ""

l = Len(auxi)

For i = l To 1 Step -1 ‘Va volcando las cifras en otro texto en orden inverso

ci$ = Mid(auxi, i, 1)

auxi2 = auxi2 + ci$

Next i

c = Val(auxi2$) ‘Convierte el nuevo texto en número

cifrainver = c

End Function