Skip to content

Instantly share code, notes, and snippets.

@55v
Created August 27, 2011 14:40
Show Gist options
  • Save 55v/1175464 to your computer and use it in GitHub Desktop.
Save 55v/1175464 to your computer and use it in GitHub Desktop.
Problem #6 from http://projecteuler.net/
(*
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.
(a + b + c + d + e)^2 =a^2 + b^2 + c^2 + d^2 + e^2 + 2a(b + c + d + e) + 2b(c + d + e) + 2c(d + e) + 2de
*)
let problem_6 n =
let rec loop result tempsum n =
printfn "N = %i" n
printfn "result = %i" result
printfn "tempsum = %i" tempsum
if n <=1 then result
else
let newTempsum = tempsum + n
printfn "newTempsum = %i" newTempsum
loop (result + (2*(n-1) * newTempsum)) newTempsum (n-1)
loop 0 0 n
problem_6 100 |> ignore
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment