function sumIntegerUpTo(number) {
return (1 + number) * number/2;
}
puedo pensar en dos formas fáciles para mí recordar esta fórmula:
pensar en añadir los números de ambos extremos de la secuencia: 1 yn, 2 y n-1, 3 y n-2, etc. Cada una de estas pequeñas sumas termina siendo igual a n + 1. Ambos extremos terminarán en el medio (promedio) de la secuencia, por lo que debe haber n/2 de ellos en total. Entonces sum = (n + 1) * (n/2).
Hay tantos números antes del promedio (que es (1 + n)/2) como hay después, y agregar un par de números que son equidistantes a este promedio siempre resulta en el doble del promedio, y hay son n/2 pares, por lo que suma = (n + 1)/2 * 2 * n/2 = (n + 1)/2 * n.
Usted puede bastante fácilmente extender el razonamiento anterior a un número de partida diferente, que le da: suma (números de A a B, ambos inclusive) = (a + b)/2 * (b-a + 1) .
http://en.wikipedia.org/wiki/Summation#Some_summations_of_polynomial_expressions Es el cuarto. –
@ FK82 - No, no lo es. Necesitas leer la pregunta de nuevo. –
@Simon: tiene razón, ** producto ** no ** **. Gracias. :-) – FK82