Diferencias
con la suma de cifras al cuadrado
Las iteraciones estudiadas en nuestras dos anteriores entradas las podemos completar con otras
similares ideadas por mí, que no parecen haber sido estudiadas hasta ahora.
La iteración propuesta consiste que, en lugar de transformar
un número en la suma con los cuadrados de sus cifras, lo hagamos con la
diferencia, en valor absoluto, entre el número y esa suma de cifras al
cuadrado. El uso del valor absoluto se justifica porque algunos números son
mayores que la suma de esos cuadrados, como 21>2^2+1^2 y otros menores, como
2>2^2. De esa forma nos aseguramos que el resultado sea positivo y también
que sea siempre menor (salvo el caso trivial de 0) que la suma de cifras al
cuadrado estudiada en la entrada anterior.
Todo el contenido de la demostración enlazada en anteriores entradas (http://fermatslibrary.com/s/a-set-of-eight-numbers#email-newsletter) se puede adaptar a esta nueva iteración, en el
sentido, que ya veremos, de terminar en ciclos similares a los que se producen
iterando sólo con los cuadrados.
Necesitamos la función SUMACIFRAS(n;2), ya estudiada en esas entradas, con el parámetro 2 para que se sumen los cuadrados, sólo que
ahora usaremos ABS(SUMACIFRAS(N;2)-N) en la iteraciones. Por ejemplo:
34 se convierte en abs(3^2+4^2-34)=9
Observamos que entramos en el ciclo 18, 47, 18, 47,…En otros
ejemplos se llega al ciclo 21, 16, 21, 16,…
Por último, otras terminan en 2 como invariante
(2=abs(2-2^2))
Hemos probado muchos números y en ellos sólo existen cuatro
finales posibles en los ciclos {0}, {2}, {16,21} y {18, 47}. Lo dejamos como
conjetura, pero es seguro que existe una demostración similar a la de la
iteración de las anteriores entradas.
Con la función ESCICLODIFCUAD
también hemos explorado los posibles ciclos. Su objetivo es descubrir si un
número N es comienzo de ciclo. Su listado es:
Public Function esciclodifcuad(n)
Dim p, q, r
Dim es As Boolean
p = n: r = 0: es = False
While r < 100 And Not es
q = Abs(p - sumacifras(p, 2)) ‘Efectúa
la iteración
If q = n Then es = True ‘Si se
repite el valor de n, es inicio de ciclo
p = q
r = r + 1 ‘Cuenta las iteraciones
Wend
If es Then esciclodifcuad = r Else
esciclodifcuad = 0
End Function
Con ella hemos comprobado, con una cierta
seguridad (no total) que los únicos números inicio de ciclo son los
presentados:
Como curiosidad señalaremos que en números mayores que 10000
las iteraciones presentan mucho más recorrido, una órbita más larga hasta
llegar al ciclo.
Variante
Podemos restar el doble de la suma de cuadrados de las
cifras, que convergerá más rápidamente que la anterior. Encontraríamos entonces
que se llega al ciclo {78, 148, 14, 20, 12, 2, 6, 66}, o al ciclo {7, 91, 73,
43} o a los invariantes 0 y 1.
Por ejemplo, en el primer ciclo se daría:
Abs(78-2*(49+64))=2*113-78=226-78=148
Abs(148-2*(1+16+64))=162-148=14
Y así seguimos hasta
Abs(6-2*36)=72-6=66
Abs(66-2*(36+36))=144-66=78
Y esto completa el ciclo.
No hay comentarios:
Publicar un comentario