jueves, 29 de noviembre de 2018

Suma de cuadrados de cifras (2) Un cuadrado menos los de sus cifras

Podíamos sustituir en la propiedad estudiada en la entrada anterior (pulsa sobre Entrada antigua en la parte baja de este texto)  la suma por la diferencia, es decir, que en lugar de sumar al cuadrado de un número los de sus cifras, se restaran estas para lograr un resultado dado.

Un ejemplo: 2675=522-52-22

Es fácil obtener un listado de los primeros números que presentan esta propiedad. Basta recorrer los números naturales y restar a cada uno los cuadrados de sus cifras. Estos son los primeros resultados no nulos (lo serían los provenientes de números de una cifra):

99, 119, 139, 159, 179, 199, 219, 239, 259, 279, 396, 436, 476, 516, 556, 596, 636, 676, 716, 756, 891, 951, 1011, 1071, 1131, 1191, 1251, 1311, 1371, 1431, 1584, 1664, 1744,…

Todos cumplen ser equivalentes a un cuadrado menos los cuadrados de sus cifras. Por ejemplo, el último, 1744, cumple: 1744=422-42-22

Llama la atención el hecho de que la última cifra se mantenga en cada periodo de diez términos, pero es lógico, ya que al ir cambiando las unidades de un número, las de su cuadrado se compensan con el cuadrado de esas unidades.

Supongamos la siguiente distribución de cifras en base de numeración 10:

N=abcd…p y N+1=abcd…(p+1)

Tendrían todas su cifras iguales menos la última, es decir

N=10k+p, N+1=10k+p+1

Si aplicamos a ambos números la resta de los cuadrados de sus cifras, los primeros sumados serán idénticos, cambiando tan solo p con p+1. Llamemos A y B a esas diferencias:

A=N2-sumacuad(abcd..)-p2

B=(N+1)2-sumacuad(abcd…)-(p+1)2

Resto: B-A=(N+1)2-N2+p2-(p+1)2=100k2+(p+1)2+20k(p+1)-100k2-p2-20kp+p2-(p+1)2=20k

Esto demuestra que dos números consecutivos restados con los cuadrados de sus cifras forman una progresión aritmética si todas las cifras son idénticas salvo la última. Como esta puede tomar valores entre 0 y 9, cada progresión tendrá 10 términos. Además, hemos demostrado que la diferencia entre ambos es 20k, siendo k el número formado por las primeras cifras iguales.

C-p+1)2+p2=(p+1)2-p2+20k-(p+1)2+p2=20k

Si dos números consecutivos coinciden en sus primeras cifras, que forman un múltiplo de 10, 10k, la diferencia en la sucesión es 20k

Tomemos, por ejemplo, 124 y 125

1242-12-22-42=15355
1252-12-22-52=15595

La diferencia 15595-15355=240, que coincide con 20*12, en el que 12 es el número formado por las primeras cifras de 124 y 125.

Función menossumacifras

Para determinar si un número posee esta propiedad, bastará modificar la función MASSUMACIF  (ver entrada anterior) por otra MENOSSUMACIF que reste los cuadrados de las cifras en lugar de sumarlas. El problema radica en el rango de búsqueda. Si en la anterior se buscaba entre 1 y la raíz cuadrada del número, ahora se efectuará entre esa raíz y otra que garantice que se puedan restar los cuadrados de las cifras. Para ello añadimos al número dado tantas potencias de la cifra 9 como cifras tenga más uno. Quedaría así:

Function menossumacif(n, k)
Dim i, r, t, ms

ms = 0
r = Int(n ^ (1 / k))
t = numcifras(n) + 1 ‘Se toma el número de cifras más 1
t = t * 9 ^ k ‘Se cuentan potencias de 9
t = (n + t) ^ (1 / k) ‘Tope de búsqueda
i = r ‘Inicio de búsqueda
While i <= t And ms = 0
If i ^ k - sumacifras(i, k) = n Then ms = i
i = i + 1
Wend
menossumacif = ms
End Function

Si aplicamos esta función a uno de los términos de la sucesión obtenida deberá obtenerse la solución y un cero para los números que no pertenecen a la misma.

MENOSSUMACIF(11799;2)=109, y se cumple que 1092-12-02-92=11799

MENOSSUMACIF(11801)=0, porque no tiene esa propiedad.

Uso de PARI

Este es el listado obtenido con el lenguaje PARI. El código usado es similar al de la entrada anterior con el código

list(a)=my(v=List(), t); for(p=1, a, t=p^2-norml2(digits(p));listput(v, t)); vecsort(Vec(v));
print(list(100))


0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 119, 139, 159, 179, 199, 219, 239, 259, 279, 396, 436, 476, 516, 556, 596, 636, 676, 716, 756, 891, 951, 1011, 1071, 1131, 1191, 1251, 1311, 1371, 1431, 1584, 1664, 1744, 1824, 1904, 1984, 2064, 2144, 2224, 2304, 2475, 2575, 2675, 2775, 2875, 2975, 3075, 3175, 3275, 3375, 3564, 3684, 3804, 3924, 4044, 4164, 4284, 4404, 4524, 4644, 4851, 4991, 5131, 5271, 5411, 5551, 5691, 5831, 5971, 6111, 6336, 6496, 6656, 6816, 6976, 7136, 7296, 7456, 7616, 7776, 8019, 8199, 8379, 8559, 8739, 8919, 9099, 9279, 9459, 9639, 9999

Se puede observar la constancia de la última cifra en ciertos conjuntos de diez elementos.


No hay comentarios: