006 – Summe der Quadrate und Quadrat der Summe

 

Die Summe der Quadrate der ersten 10 natürlichen Zahlen ist

1^2+2^2+3^2+4^2+5^2+6^2+7^2+8^2+9^2+10^2=385

Das Quadrat der Summe der ersten 10 natürlichen Zahlen ist

\left({1+2+3+4+5+6+7+8+9+10}\right)^2=55^2=3025

Die Differenz ist 3025-385=2640.

Finde die Differenz zwischen der Summe der Quadrate und dem Quadrat der Summe der ersten 100 natürlichen Zahlen!

Lösung

Möglichkeit 1

Die einfachste Version ist es, beide Summen wie in der Aufgabenstellung gefordert zu binden und voneinander abzuziehen:

grenze = 100;

quadrateVec = (1 : grenze) .* (1 : grenze);
summeDerQuadrate = sum(quadrateVec);

summeVec = 1 : grenze;
quadratDerSumme = sum(summeVec) * sum(summeVec);

differenz = quadratDerSumme-summeDerQuadrate

Ergebnis: 25164150
Rechenzeit: 0.000152 Sekunden

Möglichkeit 2

Die beiden Summen müssen nicht gebildet werden, da die beiden Folgenden Formeln gelten:

{\left( {\sum\limits_{i = 1}^n i } \right)^2} = {\left( {\frac{1}{2}n\left( {n+1} \right)} \right)^2}

\sum\limits_{i = 1}^n {{i^2}}  = \frac{1}{6}n\left( {n+1} \right)\left( {2n+1} \right)

Dies kann mit vollständiger Induktion bewiesen werden. Die Differenz ist also:

D = {\left( {\sum\limits_{i = 1}^{100} i } \right)^2}-\sum\limits_{i = 1}^{100} {{i^2}}  = {\left( {\frac{1}{2} \cdot 100 \cdot 101} \right)^2}-\frac{1}{6} \cdot 100 \cdot 101 \cdot 201 = 25164150

In Matlab:

g = 100;

d = (.5 * g * (g+1)) ^ 2-1/6 * g * (g+1) * (2 * g+1)

Rechenzeit: 0.000108 Sekunden