Project Euler – Problema 2

Riporto la soluzione al secondo problema del Progetto Eulero, in Haskell:

— Definizione dell’infinita lista dei numeri di Fibonacci (vantaggio della programmazione funzionale)
fibs = 0 : 1 : [ a + b | (a, b) <- zip fibs (tail fibs)]
— Somma di tutti i numeri di Fibonacci minori di quattro milioni e pari (lista per proprietà)
result = sum [x|x<- takeWhile (<4000000) fibs, even x]

Ed ecco il testo del problema:

Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:

1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …

Find the sum of all the even-valued terms in the sequence which do not exceed four million.

Riferimenti: http://www.haskell.org/~pairwise/intro/section1.html (per la lista di Fibonacci)

Annunci
Project Euler – Problema 2

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...