mirror of
https://github.com/correl/euler.git
synced 2024-11-23 19:19:53 +00:00
21 lines
962 B
Haskell
21 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)
|