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.
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
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:
Publicar un comentario