En nuestras búsquedas de números y de desarrollos curiosos nos hemos encontrado a menudo con operaciones que dan lugar a números capicúas o palindrómicos (en esta entrada usaremos la palabra capicúa, que es más popular entre nosotros). Para abreviar, nos restringiremos a la operación producto con datos no necesariamente capicúas, pero cuyo resultado sí lo es. Usaremos factores cercanos como objetivo de la búsqueda.
Siguiendo la costumbre general, consideramos capicúas a los
de una cifra.
En este blog disponemos de la función ESCAPICUA, que puedes
consultar en el Anexo de nuestra entrada https://hojaynumeros.blogspot.com/2020/02/suma-y-producto-de-cubo-y-otro-tipo-1.html
El problema es que depende mucho de la estructura del lenguaje VBASIC DE Excel y
Calc. Proponemos una nueva versión que se traslada mejor a otro lenguaje:
Function escapicua(n) As Boolean
Dim a, b, c, i, j, t
Dim es As Boolean
If n < 10 Then escapicua = True: Exit
Function ‘Si es de una cifra, es capicúa
es = True ‘Suponemos que es capicúa
c = 1
While n >= 10 ^ c: c = c + 1: Wend ‘Calcula el número de cifras
t = Int((c + 1) / 2) ‘Punto medio de
las cifras
i = 1
While i <= t And es
a = Int((n - Int(n / 10 ^ i) * 10 ^ i) / 10
^ (i - 1)) ‘a y b son cifras simétricas
j = c - i + 1
b = Int((n - Int(n / 10 ^ j) * 10 ^ j) / 10
^ (j - 1))
If a <> b Then es = False ‘Si
las cifras simétricas son desiguales, no es capicúa
i = i + 1
Wend
escapicua = es
End Function
Con esta función es fácil analizar si un producto es capicúa
o no. Podéis elegir la versión que más os guste.
En el lenguaje PARI, al poder usar listas y vectores, la
función es muy simple. La que sigue se inspira en la propuesta por Michel
Marcus:
ispalindromic(n) = my(d = digits(n)); Vecrev(d) == d
La función digits convierte el número en un
vector de cifras y solo queda comprobar que es idéntico a su reverso.
Caso N(N+1)
Un caso sencillo es el de multiplicar dos números
consecutivos para dar como resultado un número oblongo (ver http://oeis.org/wiki/Oblong_numbers)
En hoja de cálculo basta construir una columna con productos
N(N+1) y después aplicarle la función ESCAPICUA. Nosotros hemos usado un
sencillo buscador que realiza la misma función, con este resultado:
Con nuestra función en PARI podemos
llegar más lejos sin esfuerzo:
Código:
ispalindromic(n) = my(d = digits(n));
Vecrev(d) == d
for(i=1,10^6,if(ispalindromic(i*(i+1)),print(i," ",i*(i+1))))
Es curioso el caso del 77, que siendo capicúa, produce un oblongo también capicúa: 6006=77*78
Una simpática referencia a estas búsquedas la tienes en http://www.worldofnumbers.com/consec.htm
CASO N(N+2)
Este caso lo podemos tratar de la misma forma que el
anterior. Esta es la tabla que se puede construir con hoja de cálculo:
9×(9+2)=99
99×(99+2)=9999
999×(999+2)=999999
9999×(9999+2)=99999999
También destaca el capicúa 191, que se convierte en otro
capicúa: 191*(191+2)=36863
Están publicados los primeros valores de N en http://oeis.org/A028503 y algunas curiosidades en http://www.worldofnumbers.com/quapron.htm. En ellas se comprueba la pertenencia de 9, 99, 999,
9999,…
Una consecuencia inmediata de la forma de estos productos es
que equivalen a un número cuadrado menos
la unidad. Es fácil verlo: a(a+2)=a2+2a=(a+1)2-1. Se
puede comprobar mentalmente con los primeros, o creando una columna nueva en la
hoja de cálculo.
Caso N(N+3)
Finalizamos este tipo de producto con el caso de dos
factores que se diferencian en tres unidades, es decir, N(N+3)
Aplicando los mismos criterios de búsqueda llegamos a la
sucesión de palíndromos. Esta vez usaremos el siguiente código PARI:
ispalindromic(n) = my(d = digits(n));
Vecrev(d) == d
for(i=1,10^6,if(ispalindromic(i*(i+3)),print(i," ",i*(i+3))))
Los primeros valores de N y del palindrómico N(N+3) son
Si en
el anterior caso destacábamos el caso de 9, 99, 999, aquí llama la atención el
de 28, 298, 2998,…en los que se forman:
28*(28+3)=868
298*(298+3)=89698
2998*(2998+3)=8996998
Estos casos están publicados en http://oeis.org/A028553. En esa página se enlazan otras de
Patrick De Geest que analizan estos
casos y los siguientes, N(N+4), N(N+5), que no estudiaremos aquí.
Caso K(2K+1)
Con las mismas técnicas que los anteriores podemos
investigar aquellos números de los que uno es el doble del otro más la unidad.
Resultan estos casos:
Elegimos esta relación para ver si la cumplía algún número
primo de Sophie Germain (https://es.wikipedia.org/wiki/N%C3%BAmero_primo_de_Sophie_Germain),
pero solo hemos encontrado el par (5, 11) con producto capicúa 55.
Caso K*K
Es el caso de los cuadrados que son capicúas.
Son bastantes, y están publicados en http://oeis.org/A002778
Caso
K*2K
Es como buscar los productos que son
doble de un cuadrado. No aparecen tantos como era de esperar, ya que la
siguiente tabla presenta los menores de 10^5:
Están publicados los resultados, pero
no los valores de N, en http://oeis.org/A028985
En esa página se destaca que el
número de divisores de estos resultados es impar
En efecto, la suma de divisores de un
número tiene como fórmula
Si el resultado es el doble de un cuadrado, su descomposición factorial tendrá la forma
Todos los factores con exponente par
producirán en la fórmula de arriba factores impares. Por ejemplo, 74
produciría 1+7+72+73+74, que es impar. Igual
ocurre con el 2, que, por ejemplo, 22=1+2+22, impar. Por
último, el 2 que encabeza la expresión produciría el factor 1+2=3, luego todos
los paréntesis de la fórmula serán impares, y con ellos el producto.