Sucesiones suaves
Una sucesión es suave si valor absoluto de la diferencia de sus términos consecutivos es 1.
Definir la función
1 |
suaves :: Int -> [[Int]] |
tal que (suaves n) es la lista de las sucesiones suaves de longitud n cuyo último término es 0. Por ejemplo,
1 2 |
suaves 2 == [[1,0],[-1,0]] suaves 3 == [[2,1,0],[0,1,0],[0,-1,0],[-2,-1,0]] |
Soluciones
1 2 3 4 |
suaves :: Int -> [[Int]] suaves 0 = [] suaves 1 = [[0]] suaves n = concat [[x+1:x:xs,x-1:x:xs] | (x:xs) <- suaves (n-1)] |