Problem 6
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.
Solution
(*
The sum of the squares of
the first ten natural numbers is,
1^2 + 2^2 + … + 10^2 = 385
The square of the sum of the
first ten natural numbers is,
(1 + 2 + … + 10)^2 = 55^2 = 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.
*)
let sqr x = x*x
let numbers = [1..100]
let sumofsqrs x = x
|> List.map sqr
|> List.sum
let sqrofsum x = x
|> List.sum
|> sqr
let answer x = sqrofsum x – sumofsqrs x
printfn "%A" (answer numbers)
Discussion
The F# solution is rather elegant once again. There is a common math ‘trick’, but for only 100 elements there is no reason to shy away from the brute force solution. Later this week we’ll see the trick.
If you have questions, leave a comment or please find me on Twitter (@azzlsoft) or email (rich@azzlsoft.com).