Оставить в списке элементы в позициях, соответствующих числам Фибоначчи Haskell

Изучаю Haskell на начальном этапе, но сильно застрял на одной задачке

Оставить в списке элементы в позициях, соответствующих числам Фибоначчи

Пока что имею лишь

module Main where

main :: IO ()
main = do
    print(f [])

fib :: Int -> Integer
fib n = fibs !! n
    where fibs = 0 : 1 : zipWith (+) fibs (tail fibs) -- бесконеч. список фиб.

f []       = []         -- если список пустой то результат пустой список
f (x:[])   = [x]        -- если список состоит из одного элемента то 
                      
...

Помогите, пожалуйста, решить эту задачу


Ответы (0 шт):