martes, 12 de diciembre de 2023

Un número como suma de enteros consecutivos

En esta entrada descubriremos que si un número equivale a una suma de enteros positivos, o pares, o bién impares, siendo consecutivos, el número de sumandos en los tres casos deberá ser un divisor de ese número N o de su doble 2N.

Suma de enteros positivos consecutivos

El desarrollo de cualquier número natural N como suma de enteros positivos consecutivos está relacionado con la posibilidad de ser expresado como diferencia de dos números triangulares. En efecto, un número triangular es suma de los primeros números naturales:

1+2+3+4+…+n-1+n=n(n+1)/2=T(n)

Según lo anterior, una suma de consecutivos que no comience en 1, podrá expresarse como diferencia de dos triangulares:

Por ejemplo: 6+7+8+9+10+11+12=63=12*13/2-5*6/2=78-15=63, para N=63

Podemos estudiar esta posibilidad algebraicamente. Expresamos N como diferencia T(m+h)-T(m-1), con lo que contaremos con h+1 sumandos:

Será N=(m+h)(m+h+1)/2-m(m-1)/2

2N = m2+mh+m+mh+h2+h-m2+m = 2mh+2m+h2+h = 2m(h+1)+h(h+1) = (2m+h)(h+1)

En el ejemplo: (2*6+6)(6+1)=18*7=126=2*63=2N

Así que 2N ha de ser múltiplo del número de sumandos h+1 (6+1=7) o bien de la diferencia entre los órdenes de los dos triangulares que se restan: T(m+h)-T(m-1)

2N=(2m+h)(h+1)

Esto nos permite buscar h+1 recorriendo los divisores de 2N y encontrar m como (2N/(h+1)-h)/2. Si este cociente no es entero, el desarrollo es imposible.

Lo desarrollamos con un ejemplo:

192 es múltiplo de 4, luego puede ser diferencia entre dos triangulares con órdenes diferenciados en 4 unidades, o bien suma de cuatro naturales consecutivos. Hacemos h+1=4 y queda:

2*192=384; 384/4=96; m=(96-3)/2, que no es entero, luego con h+1=4 no hay solución.

192 también es múltiplo de 3. Probamos: h+1=3; h=2; 384/3=128

Queda m=(128-2)/2=63. Como es entero, existirá una solución con tres sumandos: 63+64+65=192 y dos triangulares con esa diferencia de h+1=3:

65*66/2-62*63/2=192

Rutina de búsqueda

Con una hoja de cálculo podemos plantear en cuántas sumas de enteros consecutivos o diferencia de triangulares se puede expresar un número. Omitimos el caso trivial en el que el número de sumandos es 1 y la diferencia de triangulares N=N(N+1)/2-N(N-1)/2

Está adaptada a Excel, pero las últimas versiones de LibreOffice Calc también la pueden ejecutar:

Sub difetriangular()

Dim a, fila, i, p, m

a = ActiveWorkbook.Sheets(8).Cells(2, 3).Value ’Lee el número
fila = 3 ‘Inicia una fila de la hoja
i = 1 ‘Va probando valores
While i < Sqr(a)
p = 2 * a / (i + 1) ‘Ve si el número de sumandos divide a 2N
If p = Int(p) Then
m = (p - i) / 2 ‘Calcula m
If m = Int(m) Then ‘Si m es entero, es un valor aceptado
fila = fila + 1

‘En las siguientes líneas escribe el número de sumandos, los órdenes de los triangulares y reconstruye N

ActiveWorkbook.Sheets(8).Cells(fila, 10).Value = i + 1
ActiveWorkbook.Sheets(8).Cells(fila, 11).Value = m
ActiveWorkbook.Sheets(8).Cells(fila, 12).Value = m + i
ActiveWorkbook.Sheets(8).Cells(fila, 13).Value = (m + i) * (m + i + 1) / 2 - m * (m - 1) / 2

End If
End If
i = i + 1
Wend
End Sub

En nuestro ejemplo de 192 quedaría:

Para el año 2024 nos daría:

En efecto:

2024=189*190/2-178*179/2, 11 sumandos: 179+180+…+188+189

2024=134*135/2-118*119/2, 16 sumandos, desde 119 hasta 134

2024=99*100/2-76*77/2, 23 sumandos, desde 77 hasta 99

Hay que observar algo ya sabido por nuestro estudio previo, y es que 11, 16 y 23 son divisores de 2024*2=4048.

Suma de pares o de impares

Impares

El caso de la suma de impares consecutivos se resolverá mediante diferencias de cuadrados, pues es sabido que

1+3+5+7+9+…2k-1=k2

Por tanto, averiguar si un número N es suma de impares consecutivos se resolverá buscando diferencias de cuadrados. No construiremos una rutina especial para esto, pues N lo cumple si se puede expresar como producto de dos factores que presenten la misma paridad, pues se puede desarrollar:

N=ab=(p+q)(p-q)=p2-q2

Al ser a y b ambos pares o ambos impares, p y q se pueden elegir como p=(a+b)/2 y q=(a-b)/2

Ejemplo

240=12*20=(16-4)(16+4)=162-42

Según lo tratado anteriormente, 162 es la suma 1+3+5+7+…(2*16-1) y 42 la suma 1+3+5+…(2*4-1). Restamos y queda que

240=9+11+13+…27+29+31, como se comprueba fácilmente.

Para estudiar el número de sumandos procedemos como en los casos anteriores:

N = (m+h)2-(m-1)2 = m2+2mh+h2-m2+2m-1 = 2m(h+1)+(h-1)(h+1) = N=(2m+h-1)(h+1)

M=(N/(h+1)-h+1)/2

Con este desarrollo comprobamos que en este caso el número de sumandos h+1 es divisor de N.

En el caso de 240 podríamos probar con todos sus divisores, para encontrar los que sean válidos:

Resultan seis divisores válidos. El último es el que hemos desarrollado con las diferencias de cuadrados. Lo intentamos ahora con 8 sumandos siguiendo las fórmulas algebraicas:

8=h+1, divisor de 240. Calculamos m:

Sería m=(N/(h+1)-h+1)/2=(240/8-7+1)/2=24/2=12

El primer sumando será 12*2-1=23

El último lo calculamos como m+h=12+7=19, y el sumando, 19*2-1=37, tal como comprobamos en la tabla anterior.

Podemos probar con un divisor no válido, como sería 24. En efecto:

Sería h+1=24; 240/24=10, m=(10-23+1)/2, que daría un número negativo.

Pares

Si la suma de naturales nos lleva a los números triangulares y la de los impares a los cuadrados, en el caso de los pares acudiremos a los números oblongos, del tipo n(n+1). En efecto, si sumamos 2+4+6+…+2n-2+2n nos encontramos con una progresión aritmética de diferencia 2, con lo que con la conocida fórmula de la suma, obtendremos:

S(n)= 2+4+6+…+2n-2+2n=(2+2n)*n/2=n(n+1)

Por ejemplo, el oblongo 4*5=20 es la suma 2+4+6+8, con los cuatro primeros sumandos.

Si pasamos a las sumas que no comienzan en 2, usaremos el mismo procedimiento que en los casos anteriores, y es restar dos oblongos.

Por ejemplo, 126=12+14+16+18+20+22+24=12*13-5*6

Si desarrollamos la diferencia, queda

N=(m+h)(m+h+1)-(m-1)m=(2m+h)(h+1), como vimos en el primer caso. Ahora la expresión es igual a N y no a 2N, con lo que volvemos a obtener que el número de sumandos, h+1, ha de ser divisor de N y ahora 2m=N/(h+1)-h, lo que también obliga a que N/(h+1)-h sea par. El resultado será el primer sumando de la suma de pares.

Bastará modificar la función usada para los triangulares sustituyendo 2N por N y exigiendo que este sea par, para que pueda ser suma de pares. Lo dejamos como ejercicio. Vemos un ejemplo de este uso. En esta tabla figuran todos los divisores propios de 2924. En la segunda columna se calcula N/(h+1)-h , y al final se seleccionan los valores válidos para m, el término inicial de esta suma.



Así que existen tres sumas de pares válidas: 43 sumandos a partir del número 26, 17 a partir de 156, y 4 sumandos que comienzan en 728.

Estos ejemplos han sido comprobados con otros algoritmos.

Lo más interesante de este estudio es comprobar que el número de sumandos no es libre, pues ha de ser divisor de N o de 2N, que constituyen también una cota para ese número de sumandos.