Problem 6: Sum square difference

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.

Solution

The sum of the squares can be done very easily:


In [19]:
l = [x ** 2 for x in range(1,101)]  #-- List with squares
sum1 = reduce(lambda x,y: x + y, l)       #-- Summ all the list's elements

Then the square of the sum:


In [20]:
sum2 = reduce(lambda x,y: x + y, range(1,101)) ** 2

Finally the solution:


In [21]:
print("The solution is: {}".format(sum2 - sum1))


The solution is: 25164150

In [21]: