October 4, 2008

The sum of the squares of the first ten natural numbers is,
12 + 22 + ... + 102 = 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.


A simple, straight forward solution in common lisp:

;;; Project Euler Problem 6

(defun sum-of-squares (upper-limit)
(loop for i from 1 to upper-limit sum (* i i)))

(defun square-of-sum (upper-limit)
(expt (loop for i from 1 to upper-limit sum i)
2))

(defun difference (upper-limit)
(- (square-of-sum upper-limit)
(sum-of-squares upper-limit)))