Project Euler – Problema 6

Riporto la soluzione al problema 6 in F#:

#light

(*Somma dei quadrati: “mappa” la funzione quadrato sui numeri da 1 a 100, e poi ne fa la somma
passando il risultato a List.sum*)
let sumofsquares = List.map (fun x -> x*x) [1 .. 100] |> List.sum

// Quadrato della somma: eleva al quadrato la somma.
let squareofsum = List.sum [1 .. 100]* List.sum [1 .. 100]

// Differenza tra quadrato della somma e somma dei quadrati
printf “%A” (squareofsum – sumofsquares)

Mentre ecco una versione in Haskell:

sommaquadrati = sum [(x*x)|x<-[1..100]]

quadratosomma = (sum [1..100])*(sum[1..100])

result = quadratosomma – sommaquadrati

Come al solito, se ci sono domande basta chiedere.

Ecco il testo del problema:

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.

Annunci
Project Euler – Problema 6

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...