Copyright | Exercitium (29-04-17) |
---|---|
License | GPL-3 |
Maintainer | JoseA.Alonso@gmail.com |
Safe Haskell | Safe |
Language | Haskell2010 |
Anagramas
Description
Una palabra es una anagrama de otra si se puede obtener permutando sus letras. Por ejemplo, "mora" y "roma" son anagramas de "amor".
Definir la función
anagramas :: String -> [String] -> [String]
tal que (anagramas x ys) es la lista de los elementos de ys que son anagramas de x. Por ejemplo,
>>>
anagramas "amor" ["Roma","mola","loma","moRa", "rama"]
["Roma","moRa"]>>>
anagramas "rama" ["aMar","amaRa","roMa","marr","aRma"]
["aMar","aRma"]
- anagramas :: String -> [String] -> [String]
- sonAnagramas :: String -> String -> Bool
- sonAnagramas2 :: String -> String -> Bool
- sonAnagramas3 :: String -> String -> Bool
- verifica_sonAnagramas :: Bool
- anagramas2 :: String -> [String] -> [String]
- anagramas3 :: String -> [String] -> [String]
- anagramas4 :: String -> [String] -> [String]
- verifica_anagramas :: Bool
Documentation
sonAnagramas :: String -> String -> Bool Source #
(sonAnagramas xs ys) se verifica si xs e ys son anagramas. Por ejemplo,
>>>
sonAnagramas "amor" "Roma"
True>>>
sonAnagramas "amor" "mola"
False
verifica_sonAnagramas :: Bool Source #
Comprobación de la equivalencia de las definiciones de anagramas.
>>>
verifica_sonAnagramas
True
anagramas3 :: String -> [String] -> [String] Source #
3ª definición (con filter y sin el 2ª argumento)
anagramas4 :: String -> [String] -> [String] Source #
4ª definición (sin sonAnagramas ni el 2º argumento)
verifica_anagramas :: Bool Source #
Comprobación de la equivalencia de las definiciones de anagramas.
>>>
verifica_anagramas
True