Free Palestine and Lebanon 🍉 Stop the Genocide
Haskell Logo

Programação Funcional

Questão 2: enumFromThenTo

Voltar

Apresente uma definição recursiva da função (pré-definida) enumFromThenTo :: Int -> Int -> Int -> [Int] que constrói a lista dos números inteiros compreendidos entre dois limites e espaçados de um valor constante.

Exemplo

> enumFromThenTo 1 3 10
[1,3,5,7,9]

Resolução

Clica para revelar

enumFromThenTo :: Int -> Int -> Int -> [Int]
enumFromThenTo start next end
    | start > end && next >= start || start < end && next < start = []
    | otherwise = start : enumFromThenTo next (2 * next - start) end