euler/haskell/e006.hs
2011-10-11 20:30:29 -04:00

20 lines
962 B
Haskell

{- What is the difference between the sum of the squares and the square of the sums?
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.
-}
import Text.Printf
squarediff n = do
let squares = sum (map (^2) [1..n])
let sums = sum [1..n] ^ 2
sums - squares
main = do
printf "Difference between the sum of the squares and square of the sum of the first ten natural numbers is: %d\n" (squarediff 10 :: Integer)
printf "Difference between the sum of the squares and square of the sum of the first hundred natural numbers is: %d\n" (squarediff 100 :: Integer)