Numeros naturales que se puedan generar como suma de numeros consecutivos
Quisiera crear un programa que tenga como salida todos los numeros entre 1 y 100 que se pueden expresar como suma de numeros consecutivos
Eje: 3=1+2 5=2+3 6=1+2+3 ..... 99=49+50
Eje: 3=1+2 5=2+3 6=1+2+3 ..... 99=49+50
hace tiempo, estando de viaje en el exterior, lei tu pregunta. La repuesta es mas o menos asi :
[a] : si el numero es impar, es decir de la forma n=2*k+1, entonces se calcula k = (n-1)/2, y los numeros
consecutivos buscados son : n = (k) + (k+1)
[b] : si n es par el problema se complica un poco :
hay que revisar los numero impares entre 3 y sqrt(n).
Si encontramos un numero x impar que divide a n,
calculamos k = n/x, y existen x numeros consecutivos
n = (k-x/2) + ... + (k) + (k+x/2).
Si los numeros consecutivos deben ser naturales, es decir enteros y mayores que 0, hay que hacer algun chequeo para verificar que (k-n/2) no resulte negativo
o igual a cero.
obervacion: todo esto funciona por k siempre resulta ser par.
Si el tema es totavia actual y tienes problemas en confeccioner el programa, o tienes algun tipo de pregunta que hacer, avizame, que estoy a tu dispocision con mucho gusto.
Noel.
entonces la suma se calcula
[a] : si el numero es impar, es decir de la forma n=2*k+1, entonces se calcula k = (n-1)/2, y los numeros
consecutivos buscados son : n = (k) + (k+1)
[b] : si n es par el problema se complica un poco :
hay que revisar los numero impares entre 3 y sqrt(n).
Si encontramos un numero x impar que divide a n,
calculamos k = n/x, y existen x numeros consecutivos
n = (k-x/2) + ... + (k) + (k+x/2).
Si los numeros consecutivos deben ser naturales, es decir enteros y mayores que 0, hay que hacer algun chequeo para verificar que (k-n/2) no resulte negativo
o igual a cero.
obervacion: todo esto funciona por k siempre resulta ser par.
Si el tema es totavia actual y tienes problemas en confeccioner el programa, o tienes algun tipo de pregunta que hacer, avizame, que estoy a tu dispocision con mucho gusto.
Noel.
entonces la suma se calcula
