The sum of the squares of the first ten natural numbers is,
12 + 22 + … + 10^2 = 385
The square of the sum of the first ten natural numbers is,(1 + 2 + … + 10)^2 = 552 = 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.
http://projecteuler.net/problem=6
highlight below for my solution:
# A = (sum[1..n])^2 = [n(n+1)/2] ^ 2
# B = sum[1^2..n^2] = n(n+1)(2n+1)/6
# A-B = n(n+1)(3n^2-n-2)/12
def delta_sum_products_product_sum(n):
return n * (n + 1) * (3 * (n ** 2) - n - 2) / 12
print delta_sum_products_product_sum(100)
[More programming riddles]