Free Palestine and Lebanon 🍉 Stop the Genocide
Haskell Logo

Programação Funcional

Questão 16: total

Voltar

Defina a função total :: [[a]] -> Int que recebe uma lista de listas e conta o total de elementos (de todas as listas).

Exemplo

> total [[2,3,4],[1,7],[],[8,5,3]]
8

Resolução

Clica para revelar

total :: [[a]] -> Int
total [] = 0
total (h:t) = subTotal h + total t
    where subTotal :: [a] -> Int
          subTotal [] = 0
          subTotal (h:t) = 1 + subTotal t

Resolução

Clica para revelar

total :: [[a]] -> Int
total [] = 0
total (h:t) = length h + total t