haskell 一行代码汉明码
核心代码为
foldl (\x y -> x `xor` y) 0 $ filter (\x -> bits !! x /= 0) [0..length bits - 1]
import Data.Bits
solve bits = foldl (\x y -> x `xor` y) 0 $ filter (\x -> bits !! x /= 0) [0..length bits - 1]
main = do
print $ solve [1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0]