jueves, 2 de febrero de 2023

Concatenación bilateral de cifras (2)

 Extensión a otros tipos de números

En la anterior entrada creábamos números primos adosando a un número cualquiera la misma cifra bilateralmente, tantas veces como fuera necesario hasta conseguir un número primo. Ahora realizaremos estudios similares, pero buscando otro tipo de números.

 Cuadrados

Los cuadrados terminan en 0, 1, 4, 5, 6 y 9. Podríamos investigar la concatenación bilateral a un cuadrado en lugar de a un primo. Bastaría sustituir ESPRIMO por ESCUAD, función muy usada en este blog, o issquare en PARI. Las funciones son las mismas, pero con ese pequeño cambio. Para no cansar, adjuntaremos los primeros ejemplos que vayamos encontrando.

En una primera investigación observamos que no existen muchas soluciones, y que es preferible restringir nuestro estudio a un solo dígito, pues ese es el caso más frecuente, según se observa en esta primera tabla exploratoria:


Hemos encontrado las extensiones 121, 676 y 484, además de las triviales.

Parece conveniente diseñar una función nueva, a la que llamaremos extencuad, que añada a un número la misma cifra tanto a la izquierda como a la derecha. Para Excel podría ser esta:

Function extencuad(n)

Dim i, j, k, p, m

Dim s$

Dim c(5)

 

 

s = ""

If escuad(n) Then extencuad = "NO": Exit Function

‘No tenemos en cuenta los que ya son cuadrados

p = numcifras(n)

c(1) = 1: c(2) = 4: c(3) = 5: c(4) = 6: c(5) = 9 ‘Posibles cifras

For i = 1 To 5

m = 10 ^ (p + 1) * c(i) + 10 * n + c(i) ‘Se añaden cifras

If escuad(m) Then s = s + "#" + Str$(m)

Next i

If s = "" Then s = "NO"

extencuad = s

End Function

 

En la siguiente tabla se recogen los primeros ejemplos de concatenación bilateral a cuadrado. Aparecen algunos capicúas, como 12321, y una solución doble en 62:

 


En http://oeis.org/A305719 están publicadas las raíces cuadradas, ordenadas, de los resultados de la segunda columna, además de otros ejemplos:

A305719              Numbers whose squares have the same first and last digits.                   

1, 2, 3, 11, 22, 26, 39, 41, 68, 75, 97, 101, 109, 111, 119, 121, 129, 131, 139, 141, 202, 208, 212, 218, 222, 225, 235, 246, 254, 256, 264, 303, 307, 313, 319, 321, 329, 331, 339, 341, 349, 351, 359, 361, 369, 371, 379, 381, 389, 391, 399, 401, 409, 411, 419, 421, 429, 431, 439, 441,

Estos números permiten su emparejamiento con los de la primera columna, resultando una función – inútil y dependiente de la base 10 – en la que sería un reto averiguar su sentido. Parecería aleatoria:



Los cuadrados con la primera cifra igual a la última también se pueden conseguir en PARI. Basta con este código:

exten(n)={my(s=digits(n));issquare(n)&&(s[1]==s[#s])}

for(i=100,10^5,if(exten(i),print1(i,", ")))

Obtendremos esta lista, idéntica a la de Excel, pero ordenada:

121, 484, 676, 1521, 1681, 4624, 5625, 9409, 10201, 11881, 12321, 14161, 14641, 16641, 17161, 19321, 19881, 40804, 43264, 44944, 47524, 49284, 50625, 55225, 60516, 64516, 65536, 69696, 91809, 94249, 97969

El único punto difícil de entender es el de (s[1]==s[#s]). En realidad, s es el conjunto de cifras de n, #s el número de ellas, y, por tanto, s[1]  es la primera cifra y s[#s] la última.

Terminamos con el hecho de que en números menores de un millón solo existe la solución doble del 62.

 

Otro ejemplo

Triangulares

La extensión a triangulares de forma bilateral se resuelve como la de los cuadrados. Basta cambiar las posibles terminaciones de cifras, que ahora son 1, 3, 5, 6 y 8. En esta tabla figuran los primeros ejemplos:



Si en PARI sustituimos issquare(n) por issquare(8*n+1) nos resultarán soluciones triangulares ordenadas.

exten(n)={my(s=Vec(Str(n)));issquare(8*n+1)&&(s[1]==s[#s])}

for(i=100,10^5,if(exten(i),print1(i,", ")))

171, 595, 666, 1081, 1431, 1711, 1891, 3003, 3403, 5565, 5995, 6216, 6786, 8128, 8778, 10011, 10731, 11781, 12561, 13041, 13861, 15051, 15931, 16471, 17391, 18721, 19701, 33153, 34453, 38503, 39903, 52975, 54285, 54615, 55945, 59685, 60726, 61776, 63546, 66066, 67896, 69006, 83028, 85078

No tienen que coincidir con las anteriores, porque, por ejemplo, 3003 procedería de 00 y eso no lo hemos considerado. Estas sí están ordenadas.

Como ejemplos basta con estos. Ya tenemos una base para emprender otras búsquedas distintas.

 

 

No hay comentarios: