48 votos

Encuentra la suma de todos los múltiplos de 3 o 5 por debajo de 1000

¿Cómo resolver este problema, no puedo entenderlo?

Si enumeramos todos los números naturales por debajo de 10 que son múltiplos de 3 o 5, obtenemos 3, 5, 6 y 9. La suma de estos múltiplos es 23.

Encuentra la suma de todos los múltiplos de 3 o 5 por debajo de 1000.

1 votos

@J.M.: ¡Título mucho mejor, gracias!

1 votos

@AD: A veces simple es hermoso. ;)

19 votos

Esta es en realidad el problema número 1 de Project Euler y puede resolverse de manera eficiente utilizando inclusión mutua-exclusión.

89voto

SecretDeveloper Puntos 1869

La respuesta publicada anteriormente no es correcta. El enunciado del problema es sumar los múltiplos de 3 y 5 por debajo de 1000, no hasta y con 1000. La respuesta correcta es \begin{eqnarray} \sum_{k_{1} = 1}^{333} 3k_{1} + \sum_{k_{2} = 1}^{199} 5 k_{2} - \sum_{k_{3} =1}^{66} 15 k_{3} = 166833 + 99500 - 33165 = 233168, \end{eqnarray> donde hemos utilizado la identidad \begin{eqnarray} \sum_{k = 1}^{n} k = \tfrac{1}{2} n(n+1). \end{eqnarray>

0 votos

El que publicó la respuesta 233168, por favor explique esa respuesta en detalle. Sería realmente útil para nosotros si lo explicara.

0 votos

Las dos primeras sumas representan los múltiplos de $3$ y $5, la última suma representa el conteo excesivo de los múltiplos de $15$ (que pueden aparecer en cualquiera de las dos primeras sumas).

0 votos

Para n=10; y k=3; (3 * (3+1) / 2) * 3

31voto

Vaibhav Gautam Puntos 73

En primer lugar, deja de pensar en el número $1000$ y enfócate en el número $990$ en su lugar. Si resuelves el problema para $990$, solo tienes que sumarle $993, 995, 996$ y $999$ para obtener la respuesta final. Esta suma es $(a)=3983$

Cuenta todos los números divisibles por $3$: Desde $3$... hasta $990$ hay $330$ términos. La suma es $330(990+3)/2$, así que $(b)=163845$

Cuenta todos los números divisibles por $5$: Desde $5$... hasta $990$ hay $198$ términos. La suma es $198(990+5)/2$, así que $(c)=98505$

Ahora, el MCD (máximo común divisor) de $3$ y $5$ es $1$, por lo que el MCM (mínimo común múltiplo) debería ser $3\times 5 = 15$.

Esto significa que cada número que se divide por $15$ fue contado dos veces, y solo debería contarse una vez. Debido a esto, tienes un conjunto adicional de números que van desde $15$ hasta $990$ que deben eliminarse de (b) y (c).

Entonces, desde $15$... hasta $990$ hay $66$ términos y su suma es $66(990+15)/2$, así que $(d)=33165$

La respuesta al problema es: $(a)+(b)+(c)-(d) = 233168$

Problema simple pero muy divertido.

7 votos

+1 pero sería un poco mejor con una explicación de por qué se debe enfocar en 990 en lugar de 1000.

1 votos

Piensa que esta respuesta es copiada de la respuesta de Project Euler por Rudy: projecteuler.net/thread=1#209

16voto

Los múltiplos de 3 son 3,6,9,12,15,18,21,24,27,30,....

Los múltiplos de 5 son 5,10,15,20,25,30,35,40,45,....

La intersección de estas dos secuencias es 15,30,45,...

La suma de los primeros números 1+2+3+4+...+n es n(n+1)/2.

La suma de los primeros múltiplos de k, digamos k+2k+3k+4k+...+nk debe ser kn(n+1)/2.

Ahora solo tienes que unir estos ingredientes para resolver el problema.


Dado que se nos pide buscar los números por debajo de 1000, observaremos los números hasta el número 999.

Para encontrar n, utiliza 999/3 = 333 + resto, 999/5 = 199 + resto, 999/15 = 66 + resto, usando a*(m*(m+1)/2) , donde m=n/a. aquí a es 3 o 5 o 15, y n es 999 o 1000 pero 999 es el mejor, y luego suma los múltiplos de 3: $3((333)*(333+1)/2) = 166833$ más los múltiplos de 5: $5((199)*(199+1)/2) = 99500$; y resta los múltiplos de 15 $15((66)+(66+1)/2 )= 33165$ para obtener 233168.

4 votos

La respuesta que has proporcionado es incorrecta. Echa un vistazo a la respuesta aceptada y ve cómo puedes mejorar tu propio post.

0 votos

¿Por qué no puedes duplicar las intersecciones?

9voto

Kinjal Dixit Puntos 2996

Bueno, la ecuación principal ya está dada arriba. ¡La única pregunta que me da problemas es por qué tengo que restar la suma de 15?! Bueno, la respuesta es que 15 se puede dividir uniformemente por 3 y 5. ¡Así que los productos de 15 también se pueden dividir por esos números! Por lo tanto, cuando sumas los números con Sum Of Three y Sum Of Five hay algunos números (es decir, 15, 30, 45, 60....) que están disponibles en ambas SUMATORIAS. ¡Así que tienes que restar al menos una vez de la suma total para obtener la respuesta!

¡Espero que esto ayude a alguien como a mí :) !!

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X