Questão 20: powerEnumFrom
Voltar
Apresente uma definição recursiva da função powerEnumFrom :: Int -> Int -> [Int]
que dado um valor n
e um valor m
constrói a lista [n^0,…,n^(m−1)]
.
Exemplo
> powerEnumFrom 2 10
[1,2,4,8,16,32,64,128,256,512]
Resolução
powerEnumFrom :: Int -> Int -> [Int]
powerEnumFrom n 1 = [1]
powerEnumFrom n m
| m > 1 = powerEnumFrom n (m - 1) ++ [n^(m-1)]
| otherwise = []