Título: [Solucionado] Suma divisores de un número Publicado por: RON06 en 11 Noviembre 2010, 21:55 pm Hola a tod@s!
Como dice el tema quiero hacer un programa en C++ que calcule la suma de los divisores de un número. Tengo el siguiente código: Código: #include <iostream> El problema que tengo es que por números como el 6, 20 y otros funciona. Pero por ejemplo por el 220 no. 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284 En mi programa la suma de divisores de 220 sale que es 504. Alguien tiene idea de que puede fallar y cómo solucionarlo? Gracias :D Título: Re: [Ayuda] Suma divisores de un número Publicado por: Akai en 11 Noviembre 2010, 22:21 pm En algún momento has cometido un error de planteamiento respecto al problema.
(http://img261.imageshack.us/img261/1322/sinttulolk.png) Aqui tienes una muestra de como ejecuta tu código (con una pequeña variación para mostrar cada divisor). Como podrás observar, los números imprimidos por pantalla coinciden con tu desarrollo, PERO en el programa hay algo más: Código
Así que: a) no has contemplado la propia suma de si mismo en tus cálculos a mano o bien b) esta suma sobra en el programa. Según sea el planteamiento del problema, es uno u otro fallo. Título: Re: [Solucionado] Suma divisores de un número Publicado por: RON06 en 11 Noviembre 2010, 22:47 pm Gracias Akai ;D
Tenías razón, el error no estaba en el código, sinó en mis cálculos a mano. Me olvidé de sumar el mismo número. De esta manera si sale lo mismo. 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 + 220= 504 :D PD: Por cierto, gracias por la línea de código añadida, así veo los otros divisores :rolleyes: Título: Re: [Ayuda] Suma divisores de un número Publicado por: ShadowStorm en 11 Noviembre 2010, 23:05 pm En algún momento has cometido un error de planteamiento respecto al problema. (http://img261.imageshack.us/img261/1322/sinttulolk.png) Aqui tienes una muestra de como ejecuta tu código (con una pequeña variación para mostrar cada divisor). Como podrás observar, los números imprimidos por pantalla coinciden con tu desarrollo, PERO en el programa hay algo más: Código
Así que: a) no has contemplado la propia suma de si mismo en tus cálculos a mano o bien b) esta suma sobra en el programa. Según sea el planteamiento del problema, es uno u otro fallo. PD: Por cierto, gracias por la línea de código añadida, así veo los otros divisores :rolleyes: Faltaría imprimir el primer divisor que es 1. Código
Título: Re: [Ayuda] Suma divisores de un número Publicado por: RON06 en 12 Noviembre 2010, 00:20 am Gracias ShadowStorm para mejorar/retocar aún más el código :D
|