In the continuing series of solving Project Euler problems with F#, here is problem 6 and my solution:
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.
- Enumerate 1-100 and square each value. Add the results together
- Enumerate 1-100 and add each value together. Square the resulting sum.
- Find the difference between the two.
let problem6 = let values = [1..100] let sumOfSquares = values |> Seq.map (fun x -> pown x 2) |> Seq.sum let squareOfSums = values |> Seq.sum |> (fun x -> pown x 2) squareOfSums - sumOfSquares
Download the source code with unit tests.
Advertisements