Project Euler Problem 6 in F#

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.

  1. Enumerate 1-100 and  square each value.  Add the results together
  2. Enumerate 1-100 and add each value together.  Square the resulting sum.
  3. 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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s