src/problems/006.lisp @ 4b54adfbaf3d
default tip
More refactoring
author |
Steve Losh <steve@stevelosh.com> |
date |
Tue, 24 Dec 2019 13:50:19 -0500 |
parents |
c19da8761e57 |
children |
(none) |
(defpackage :euler/006 #.euler:*use*)
(in-package :euler/006)
;; The sum of the squares of the first ten natural numbers is,
;; 1² + 2² + ... + 10² = 385
;;
;; The square of the sum of the first ten natural numbers is,
;; (1 + 2 + ... + 10)² = 55² = 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.
(define-problem (6 25164150)
(flet ((sum-of-squares (to)
(summation (irange 1 to) :key #'square))
(square-of-sum (to)
(square (summation (irange 1 to)))))
(abs (- (sum-of-squares 100) ; apparently it wants the absolute value
(square-of-sum 100)))))