¿Cuál es la suma de todos los números naturales entre el $500$ $1000$ (extremos incluidos) que son múltiplos de $2$, pero no de $7$?
Respuestas
¿Demasiados anuncios?En general, la suma de una progresión aritmética es $$S_n = \sum_{i=1}^{n} a_i=\frac{n}{2}(a_1+a_n)$$
Así, la suma de todos los números en el intervalo de
$$ = \frac{251}{2}(500+1000)$$
Y la suma de todos los múltiplos de $14$ en el intervalo de $$ = \frac{36}{2}(504+994)$$
Restando estas dos respuestas se dará el resultado que usted está buscando.
\begin{align*} \sum_{i=0}^{250}(500+2i)-\sum_{i=0}^{35}(504+14i) &=251\cdot500+2\sum_{i=0}^{250}i-36\cdot504-14\sum_{i=0}^{35}i\\ &=251\cdot500+2\biggl[\frac{251(0+250)}2\biggr]-36\cdot504-14\biggl[\frac{36(0+35)}2\biggr]\\ &=161286 \end{align*} el uso de la progresión aritmética de la fórmula (ver aquí).
Heres una solución de código utilizando una consola de C# aplicación:
// hold all numbers to be summed
List<int> multiplesOfTwoCollection = new List<int>();<br>
// count numbers
for (int naturalNumber = 500; naturalNumber <= 1000; naturalNumber++)
{ if (naturalNumber % 2 == 0) { multiplesOfTwoCollection.Add(naturalNumber); }
// log contents
Console.WriteLine("natural number:{0}", naturalNumber); }
// multiples of 7
int sumOfInts = 0;
foreach (var item in multiplesOfTwoCollection)
if (item % 7 == 0) { Console.WriteLine("multiple of 7:{0}", item);
} else { sumOfInts += item; }
Console.WriteLine("sum of numbers between 500 and 1000 that are multiples of 2 not 7:{0}", sumOfInts);
Devuelve
161286