jueves, 3 de octubre de 2019

Sumas de cuadrados de cifras (8) -Números de Smith 2º orden



(Durante el descanso veraniego de 2019 han surgido para este blog nuevas propiedades sobre la suma de los cuadrados de las cifras. Se llevan publicadas siete entradas sobre este tema, más otras cuatro dedicadas a las iteraciones. Aunque su publicación se ha interrumpido durante dos meses, es interesante dar a conocer estas nuevas surgidas con posterioridad al proyectado cierre de la serie)


Números de Smith de segundo orden
Este concepto de “número de Smith de segundo orden” no parece que se use mucho, porque no figura como tal en las páginas tipo Wikipedia o Mathworld. Hemos tomado esta notación de la página
http://www.shyamsundergupta.com/smith.htm




En realidad, en esa sucesión, como veremos más adelante, no figuran todos los números que consideraremos aquí.

Los números que sí son populares y figuran en muchas publicaciones son los números de Smith de primer orden (http://oeis.org/A006753). Son aquellos en los que la suma de las cifras del número coincide con la suma del mismo cálculo en sus factores primos. Albert Wilansky los nombró números de Smith por su cuñado Harold Smith que tenía el número de teléfono 4937775 y presentaba esta propiedad, es decir

4937775 = 3.5.5.65837

4 + 9 + 3 + 7 + 7 + 7 + 5 = 3 + 5 + 5 + (6 + 5 + 8 + 3 + 7) = 42

Puedes encontrar mucho material sobre ellos en la página 


Los números que proponemos aquí poseen la misma propiedad pero con cuadrados. Así, 822=2*3*137, y la suma de los cuadrados de las cifras de 822 coincide con la suma de las de sus factores:

8^2+2^2+2^2 = 72 y 2^2+3^2+1^2+3^2+7^2=72.

Puedes encontrar muchos de ellos en la sucesión http://oeis.org/A174460, aunque en ella se exige la no coincidencia de dígitos, que no consideraremos aquí.

Búsqueda de números de Smith de segundo orden

Podemos usar la factorización de un número y nuestra función sumacifras(n;2). Hemos creado la función sum2factores, que encuentra los factores primos de un número con multiplicidad y va tomando nota de la suma de sus cifras al cuadrado:

Public Function sum2factores(n)
Dim f, a, e

a = n ‘Copia el valor de n
f = 2 ‘Recogerá los factores primos
e = 0 ‘Recogerá la suma de las cifras al cuadrado
While f <= a
While a / f = a \ f ‘Ve si es divisor
a = a / f: e = e + sumacifras(f, 2)’ Si lo es, suma los cuadrados de las cifras
Wend
If f = 2 Then f = 3 Else f = f + 2 ‘Siguiente factor, que será primo por la división a=a/f
Wend
sum2factores = e ‘Suma total
End Function

Con esta función basta buscar los números en los que coinciden las sumas de los cuadrados de las cifras, tanto las propias como las de los factores. Sólo buscaremos entre los números compuestos, como era de esperar.

Los primeros resultados son



En la tabla figuran, en la segunda columna, las sumas de cuadrados de cifras que son coincidentes. Por ejemplo, en 4823 figura la suma 93 y los factores 7, 13, 53 (los segundos números son exponentes), y, efectivamente:

4^2+8^2+2^2+3^2=93 y 7^2+1^2+3^2+5^2+3^2=93

En forma de listado:

56, 58, 810, 822, 1075, 1111, 1255, 1519, 1752, 2145, 2227, 2260, 2483, 2618, 2620, 3078, 3576, 3653, 3962, 4336, 4823, 4974, 5216, 5242, 5386, 5636, 5719, 5762, 5935, 5998, 6220, 6424, 6622, 6845, 7015, 7251, 7339, 7705, 7756, 8460, 9254, 9303, 9355,…
Están repartidos en dos sucesiones, http://oeis.org/A174460

A174460              Smith numbers of order 2.               7
56, 58, 810, 822, 1075, 1519, 1752, 2145, 2227, 2260, 2483, 2618, 2620, 3078, 3576, 3653, 3962, 4336, 4823, 4974, 5216, 5242, 5386, 5636, 5719, 5762, 5935, 5998, 6220, 6424, 6622, 6845, 7015, 7251, 7339, 7705, 7756, 8460, 9254, 9303, 9355, 10481, 10626, 10659

1111, 1255, 12955, 17482, 25105, 28174, 51295, 81229, 91365, 100255, 101299, 105295, 107329, 110191, 110317, 117067, 124483, 127417, 129595, 132565, 137281, 145273, 146137, 149782, 163797, 171735, 174082, 174298, 174793

Nosotros unificamos las dos, pues nos parece más sencillo y directo.

Podemos acudir también al lenguaje PARI:

sum2cifras(n)=norml2(digits(n))
sum2factor(n)=local(f, s=0); f=factor(n); for(i=1, matsize(f)[1], s+=sum2cifras(f[i, 1])*f[i,2]); s
for(i=1,10000,if(sum2cifras(i)==sum2factor(i)&&isprime(i)==0,print1(i,", ")))

Es una traducción de nuestro procedimiento. Con este código se repiten los resultados:



Casos particulares

Dentro de este listado podemos investigar algunos tipos particulares de números, que coinciden con los que solemos considerar en este blog.

Semiprimos

Estos son los primeros números de Smith de segundo orden que son semiprimos. Para encontrarlos basta añadir la condición de que posean solo dos factores primos.



En Excel hemos añadido la condición essemiprimo y en PARI con bigomega(n)==2:

for(i=1,100000,if(sum2cifras(i)==sum2factor(i)&&isprime(i)==0&&bigomega(i)==2,print1(i,", ")))

58, 1111, 1255, 2227, 2483, 3653, 5242, 5386, 5935, 5998, 7251, 7339, 9355, 10481, 12381, 12813, 12955, 14359, 16586, 16658, 16757, 16941, 17349, 17482, 18215, 18273, 18566, 19271, 19641, 21815, 23867, …

Cuadrados

Los números de Smith de segundo orden que son cuadrados son mucho menos abundantes. Estos son los primeros:




Por ejemplo, 476100 es el cuadrado de 690, y se cumple:

4^2+7^2+6^2+1^2+0^2+0^2=102

690=2*3*5*23

2^2+3^2+5^2+2^2+3^2+2^2+3^2+5^2+2^2+3^2=102

Tienen la ventaja algorítmica de que en los bucles FOR-NEXT podemos usar i*i en lugar de i, con lo que los cálculos son mucho más rápidos.

En PARI

for(i=1,30000,n=i*i;a=norml2(digits(n)); s=0;f=factor(n); for(k=1, matsize(f)[1], s+=sum2cifras(f[k, 1])*f[k,2]);if(a==s,print1(n,", ")))

209764, 476100, 729316, 908209, 1081600, 6230016, 9909904, 11404129, 11799225, 12068676, 13242321, 15007876, 23765625, 29170801, 31933801, 39601849, 40627876, 41563809, 42902500, 49449024, 54434884, 61121124, 78216336, 78801129, 103795344, 110838784, 116380944, 128595600, 132917841, 134026929, 137569441, 151363809, 158206084, 161976529, 163175076,

Triangulares

Para encontrar los triangulares, basta organizar un bucle con i*(i+1)/2. Resultan los siguientes:




Con PARI:

sum2cifras(n)=norml2(digits(n))
sum2factor(n)=local(f, s=0); f=factor(n); for(i=1, matsize(f)[1], s+=sum2cifras(f[i, 1])*f[i,2]); s
for(i=1,10000,n=i*(i+1)/2;if(sum2cifras(n)==sum2factor(n),print1(n,", ")))

3, 2145, 163306, 191271, 248160, 561270, 591328, 860016, 1017451, 1296855, 1355481, 2372931, 2713285, 3386503, 3517878, 3755170, 3899028, 3932610, 4074085, 4247155, 4683330, 4717056, 4750903, 5076891, 5546115, 5680135, 6917340, 6928503, 7172578, 7571886, 8547045, 8650720,…


Cubos

Por último, como ejemplo de búsquedas que se pueden emprender, los primeros cubos que son números de Smith de segundo orden. Dejamos como ejercicio su obtención.




Con PARI:


1601613, 76225024, 1302170688, 1556862679, 1745337664, 4427101288, 14331199589, 36198994112, 47124116928, 48149090072, 56006043976, 57289251375, 64481201000, 66037242088, 72772859375, 96955616584, 149467669443, 197849544283, 262266899201, 262389836808, 386464682304, 484661551375, 574270627328, 761048497000, 795052191744, 841499753121,…

Aquí dejamos los casos. Puedes seguir investigando en esta dirección.

No hay comentarios: