jueves, 11 de abril de 2019

Suma de cuadrados de cifras (6) - Casos particulares


Llegamos hoy a la sexta entrada dedicada a la suma de los cuadrados de las cifras de un número. A esta seguirán otras, hasta completar una publicación más extensa.


Por tratar de casos particulares, es inevitable que esta entrada contenga mucha casuística, por lo que se desarrollarán más extensamente los primeros casos, reduciendo a meras referencias los últimos.

Suma cuadrada

En la tercera entrada de esta serie vimos los casos en los que la suma de cuadrados de las cifras es también cuadrada.


A continuación desarrollaremos algunos casos particulares de esta propiedad. 

Todas las sucesiones estudiadas serán partes de la general http://oeis.org/A175396

Cuadrados

Comenzamos con el caso más natural, y es que el número con suma cuadrada sea a su vez cuadrado. Estos números están publicados en http://oeis.org/A061090

Con nuestra función sumacifras(n;k) , que puedes consultar en la primera entrada de la serie, (http://hojaynumeros.blogspot.com/2018/11/suma-de-cuadrados-de-cifras-1-un.html) es fácil crear una búsqueda en la que tanto el número buscado como la suma de los cuadrados de sus cifras sean también cuadrados. Podría ser algo así:

For i = 1 to 100
a=i*i
b = sumacifras(a; 2)
If escuad(b) Then msgbox(a)
Next i

Con una rutina de búsqueda más elaborada hemos obtenido fácilmente el listado, que coincide con el publicado en A061090.



Listado publicado

1, 4, 9, 100, 400, 676, 841, 900, 1444, 4225, 10000, 24025, 40000, 42025, 42436, 43264, 66049, 67600, 84100, 90000, 109561, 119716, 144400, 155236, 239121, 244036, 248004, 252004, 335241, 355216, 362404, 373321, 422500, 643204, 664225

Como bien señala Charles R Greathouse IV, si un número pertenece a esta sucesión, también estará si lo multiplicamos por 100, ya que las cifras significativas no cambian.

El código PARI incluido en esta publicación resulta oscuro y no aprovecha mejoras habidas en este lenguaje, Proponemos otro:

for(p=1, 1000, b=p*p; a=norml2(digits(b)); if(issquare(a), print1(b,", ")))

Se comprende su funcionamiento con solo leerlo atentamente. Su resultado es



Primos

También están publicados los números primos con suma de cuadrados de cifras también cuadrada. Son estos:

2, 3, 5, 7, 43, 263, 269, 1153, 1531, 1933, 2063, 2069, 2287, 2609, 3319, 3391, 3511, 3931, 4003, 4441, 4801, 4889, 5113, 5399, 5939, 6029, 6067, 6203, 6469, 6607, 8849, 9133, 9539, 10111, 10177, 10513, 10531, 10771, 11149, 11213, 11273, 11321, 11491, 11503,…( http://oeis.org/A223035)

Los de una cifra pertenecen todos, como es evidente, y el siguiente, 43, corresponde a la terna pitagórica 42 + 32 = 52 = 25

Puedes reproducirlos con la función sumacifras(n;k):


También nos valdría este programa en PARI:

forprime(p=2, 10000, a=norml2(digits(p)); if(issquare(a), print1(p,", ")))

El uso de forprime simplifica mucho el código.

Triangulares

Para descubrir si un número N es triangular, basta ver que 8*N+1 sea cuadrado. Es una forma muy cómoda de descubrirlos. También podemos seguir la serie natural 1, 2, 3, 4,…y aplicarles la fórmula N(N+1)/2.

Aquí usaremos otro método, que es partir de 1 e ir añadiendo de forma recursiva, 2, 3, 4,…

1=1, 1+2=3, 3+3=6, 5+4=10, 10+5=15,…

Esta forma de generar números triangulares suele ser bastante rápida, y es la que usaremos en PARI:

p=1; q=2; while(p<=500000,  a=norml2(digits(p)); if(issquare(a), print1(p,", ")); p+=q; q+=1)

A la variable p se le va añadiendo q, que a su vez crece de 1 en 1. Así se generan los triangulares y después se suman los cuadrados de sus cifras y se investiga si la suma es cuadrada. El resultado es

0, 1, 3, 6, 10, 300, 2278, 6670, 10153, 27028, 28203, 33411, 35778, 40470, 44850, 58311, 62481, 66066, 105570, 113050, 143916, 144991, 151525, 155961, 181503, 198765, 199396, 204480, 213531, 220780, 239778, 241860, 248160, 271953, 279378, 333336, 348195, 381501, 392055, 431985, 461280, 479710,…(en la versión publicada se ha incorporado el cero, pues en OEIS se considera triangular, ya que 0=0*1/2)

Aquí también figuran, como ocurrió con los cuadrados, los triangulares de una cifra. Cualquier número de la sucesión será triangular y cuadrada la suma de sus cifras al cuadrado. Por ejemplo:

33411 es triangular, porque 33411=258*259/2, y la suma de los cuadrados de sus cifras es 9+9+16+1+1=36, un cuadrado.

Suma prima

 El caso general está publicado en http://oeis.org/A108662

11, 12, 14, 16, 21, 23, 25, 27, 32, 38, 41, 45, 49, 52, 54, 56, 58, 61, 65, 72, 78, 83, 85, 87, 94, 101, 102, 104, 106, 110, 111, 113, 119, 120, 126, 131, 133, 137, 140, 146, 159, 160, 162, 164, 166, 168, 173, 179, 186, 191, 195, 197, 199, 201, 203, 205, 207, 210,...

Como suele ocurrir en las sucesiones que estamos estudiando, si N está en la sucesión, todos los números cuyas cifras formen anagrama de las de N, también pertenecerán a la sucesión, Igual se puede afirmar de N*10^k. Así, si 38 pertenece a la sucesión, también estarán en ella 83, 380, 830, 3800, 8300,…Por tanto, esta sucesión es infinita.

Vemos algunos casos particulares.

Primos con suma prima

Están ya publicados en  http://oeis.org/A052034

11, 23, 41, 61, 83, 101, 113, 131, 137, 173, 179, 191, 197, 199, 223, 229, 311, 313, 317, 331, 337, 353, 373, 379, 397, 401, 409, 443, 449, 461, 463, 467, 601, 641, 643, 647, 661, 683, 719, 733, 739, 773, 797, 829, 863, 883, 911, 919, 937, 971, 977, 991, 997, 1013,...

Observa que los anagramáticos de un término, también pertenecen si son primos, como 113, 131 y 311.

Un ejemplo: 397 es primo, y 3^2+9^2+7^2=139, que es primo.

Podemos reproducir esta sucesión mediante el lenguaje PARI:

forprime(p=2, 10000, a=norml2(digits(p)); if(isprime(a), print1(p,", ")))


Triangulares con suma prima

Ya destacamos en la anterior cuestión que tenemos predilección por los números triangulares. Estos son los que presentan suma de cuadrados de cifras que es prima:

21, 45, 78, 120, 210, 276, 595, 780, 861, 1275, 1653, 2016, 2485, 2775, 3240, 3321, 3570, 3916, 4005, 4656, 6328, 7260, 7503, 9316, 9453, 9730, 10011, 11476, 12246, 12561, 13203, 15225, 15753, 16471, 16653, 17205, 17955, 18145, 19306, 19900, 20100, 20706, 21321, 21945, 22155, 22366, 22791, 23653, 23871, 24090, 24753,...

Vemos un ejemplo:

17205 es triangular, porque 17205=185*186/2, y 1^2+7^2+2^2+0^2+5^2=79 es primo.

El código PARI aprovecha la generación de triangulares como suma de los primeros números naturales:

(PARI) p=1; q=2; while(p<=25000,  a=norml2(digits(p)); if(isprime(a), print1(p,", ")); p+=q; q+=1)

Cuadrados con suma prima

Sorprendentemente, esta sucesión estaba inédita, a pesar de la sencillez de su definición. La inversa, primos con suma cuadrada sí está publicada en http://oeis.org/A223035

Los primeros números que cumplen esta condición son

16, 25, 49, 289, 324, 1369, 1521, 1600, 1936, 2209, 2304, 2500, 2601, 2809, 4900, 5929, 7569, 8649, 8836, 11025, 11881, 12321, 13225, 13689, 19881, 22201, 22801, 27556, 28900, 29929, 32400, 33489, 34596, 34969, 37636, 39601, 42849, 45369, 46656, 49284, 54756, 55225, 56169, 62001, 65536, 66564, 71289,...

for(p=1, 270, b=p*p; a=norml2(digits(b)); if(isprime(a), print1(b,", ")))

Suma triangular

Hay poco publicado, y tampoco parece que interese mucho, por lo que nos limitaremos a presentar los casos con algún comentario o código:

Los primeros números cuya suma de cuadrados es triangular son los siguientes

0,1, 6, 10, 13, 31, 36, 60, 63, 100, 103, 111, 112, 118, 121, 124, 130, 139, 142, 147, 174, 181, 193, 211, 214, 241, 244, 245, 254, 257, 275, 301, 306, 310, 319, 360, 391, 399, 412, 417, 421, 424, 425, 442, 452, 455, 458, 471, 485, 524, 527, 542, 545, 548, 554, 572, 584, 588, 600, 603, 630, 668, 669, 686, 696, 714, 725, 741,...

Se pueden generar mediante PARI:

for(p=0, 750, a=norml2(digits(p)); if(issquare(8*a+1), print1(p,", ")))

Dentro de ellos se pueden distinguir varios casos.

Triangulares con suma triangular

Los primeros son estos:

0, 1, 6, 10, 36, 630, 741, 1081, 2211, 7140, 10011, 10153, 13366, 15576, 17766, 23220, 24531, 25651, 28920, 33411, 42486, 47586, 52326, 59685, 61776, 69006, 112575, 113050, 121771, 125751, 128778, 129286, 146611, 156520, 163306, 165025, 167331, 185136, 202566, 207046, 211575, 219453, 221445, 222111, 231540, 235641, 237705, 243951,...

Ya están publicados en https://oeis.org/A094890

Por ejemplo, 741 es triangular (741=38*39/2) y la suma de cuadrados de cifras es 7^2+4^2+1^2=66, que también es triangular.

Puedes usar este código PARI

 p=0; q=1; while(p<=250000,  a=norml2(digits(p)); if(issquare(8*a+1), print1(p,", ")); p+=q; q+=1)

Primos con suma triangular

Los primeros son:

13, 31, 103, 139, 181, 193, 211, 241, 257, 421, 811, 1021, 1039, 1093, 1123, 1151, 1153, 1201, 1213, 1217, 1231, 1283, 1321, 1511, 1531, 1721, 1801, 1823, 1889, 2011, 2113, 2131, 2237, 2273, 2311, 2347, 2381, 2437, 2467, 2473, 2551, 2621, 2647, 2687, 2711, 2861, 3001, 3019, 3109, 3121, 3163, 3313, 3331, 3361, 3511, 3613, 3631, 3821,...

Su código:

forprime(p=2, 4000, a=norml2(digits(p)); if(issquare(8*a+1), print1(p,", ")))

Cuadrados con suma triangular

1, 36, 100, 121, 1024, 2401, 3136, 3600, 3844, 6724, 10000, 10201, 12100, 12769, 14161, 15376, 15625, 17689, 18769, 24649, 24964, 29584, 47089, 49729, 51529, 54289, 61504, 73441, 76176, 78961, 81796, 93636, 96721, 97344, 102400, 105625, 113569, 116964, 118336, 156025,...

Intenta construir un programa en PARI para ellos.

Aquí dejamos el recorrido de casos particulares en la suma de los cuadrados de las cifras. Como siempre, se ha preferido no abordar todos los casos a cansar a los seguidores con cálculos excesivamente parecidos.



No hay comentarios: