banovski

Project Euler, Problem #2, Haskell

Nov 27th, 2021 (edited)
890
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Каждый следующий элемент ряда Фибоначчи получается при сложении
  2. -- двух предыдущих. Начиная с 1 и 2, первые 10 элементов будут: 1, 2,
  3. -- 3, 5, 8, 13, 21, 34, 55, 89, ... Найдите сумму всех четных
  4. -- элементов ряда Фибоначчи, которые не превышают четыре миллиона.
  5.  
  6. fib :: (Ord a, Integral a) => [a] -> [a]
  7. fib xs = if last xs < 4000000 then fib (xs ++ [last xs + last (init xs)]) else init xs
  8.  
  9. main = print $ sum $ filter even $ fib [0,1]
  10.  
  11. -- 4613732
  12.  
RAW Paste Data