instruction: Adott két bináris karakterlánc a és b, adja vissza összegüket bináris karakterláncként. Írja a megoldást Haskell függvényként
output: Íme a feladat Haskell megoldása:
  
  ```
  addBinary :: String -> String -> String -> String
  addBinary a b = fordított $ addBinaryHelper (fordított a) (fordított b) '0'
  
  addBinaryHelper :: String -> String -> Char -> String
  addBinaryHelper [] [] '0' = []
  addBinaryHelper [] [] carry = [carry]
  addBinaryHelper [] (y:ys) carry = addBinaryHelper [] ys (addBinaryDigits '0' y carry)
  addBinaryHelper (x:xs) [] carry = addBinaryHelper [] xs (addBinaryDigits x '0' carry)
  addBinaryHelper (x:xs) (y:ys) carry = sumDigits : addBinaryHelper xs ys carry'
      ahol
          (sumDigits, carry') = addBinaryDigits x y carry
  
  addBinaryDigits :: Char -> Char -> Char -> (Char, Char)
  addBinaryDigits '0' '0' '0' '0' = ('0', '0')
  addBinaryDigits '0' '1' '0' = ('1', '0')
  addBinaryDigits '1' '0' '0' = ('1', '0')
  addBinaryDigits '1' '1' '0' = ('0', '1')
  addBinaryDigits '0' '0' '1' = ('1', '0')
  addBinaryDigits '0' '1' '1' = ('0', '1')
  addBinaryDigits '1' '0' '1' = ('0', '1')
  addBinaryDigits '1' '1' '1' '1' = ('1', '1')
  ```
  
  Az `addBinary` függvény két bináris karakterláncot, `a`-t és `b`-t vesz fel, és összegüket bináris karakterláncként adja vissza. Az `addBinaryHelper` és az `addBinaryDigits` segédfüggvényeket használja. Az `addBinaryHelper` függvény két bináris karakterláncot, `a` és `b`, valamint egy hordozó értéket vesz fel, és rekurzív módon kiszámítja a két karakterlánc összegét a legkevésbé jelentős számjegyből kiindulva. Az `addBinaryDigits` függvény két bináris számjegy és egy hordozóbit összegét számítja ki, és az eredményül kapott számjegyet és az új hordozóbitet adja vissza. Vegyük észre, hogy mind az `addBinaryHelper`, mind az `addBinaryDigits` feltételezi, hogy a karakterláncok fordított sorrendben vannak, ezért kell megfordítanunk a bemeneti karakterláncokat az `addBinary`-ben.