The sum of the squares of the first ten natural numbers is,
$$1^2 + 2^2 + ... + 10^2 = 385$$The square of the sum of the first ten natural numbers is,
$$(1 + 2 + ... + 10)^2 = 55^2 = 3025$$Hence the difference between the sum of the squares of the first ten natural numbers and the square of the sum is 3025 − 385 = 2640.
Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.
In [1]:
from six.moves import range
In [2]:
sum_sq_diff = lambda n: sum(range(1, n+1))**2 - sum(i**2 for i in range(1, n+1))
In [3]:
sum_sq_diff(10)
Out[3]:
In [4]:
sum_sq_diff(100)
Out[4]:
In [5]:
sum_sq_diff = lambda n: n*(3*n+2)*(n-1)*(n+1)/12
In [6]:
sum_sq_diff(100)
Out[6]:
Doesn't get simpler than this..?