Advertisement
banovski

Addition immitation

Apr 28th, 2022 (edited)
1,487
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. data Numbers
  2.   = A -- 0
  3.   | B -- 1
  4.   | C -- 2
  5.   | D -- 3
  6.   | E -- 4
  7.   | F -- 5
  8.   | G -- 6
  9.   | H -- 7
  10.   | I -- 8
  11.   | J -- 9
  12.   deriving (Show, Eq, Enum)
  13.  
  14. sm :: Numbers -> Numbers -> Numbers
  15. sm x y = aux A A x y A
  16.   where
  17.     aux a b x y z
  18.       | a /= x = aux (succ a) b x y (succ z)
  19.       | b /= y = aux a (succ b) x y (succ z)
  20.       | otherwise = z
  21.  
  22. -- "A + A = A", "B + A = B", "A + B = B", "C + A = C", "B + B = C", "A + C = C",
  23. -- "D + A = D", "C + B = D", "B + C = D", "A + D = D", "E + A = E", "D + B = E",
  24. -- "C + C = E", "B + D = E", "A + E = E", "F + A = F", "E + B = F", "D + C = F",
  25. -- "C + D = F", "B + E = F", "A + F = F", "G + A = G", "F + B = G", "E + C = G",
  26. -- "D + D = G", "C + E = G", "B + F = G", "A + G = G", "H + A = H", "G + B = H",
  27. -- "F + C = H", "E + D = H", "D + E = H", "C + F = H", "B + G = H", "A + H = H",
  28. -- "I + A = I", "H + B = I", "G + C = I", "F + D = I", "E + E = I", "D + F = I",
  29. -- "C + G = I", "B + H = I", "A + I = I", "J + A = J", "I + B = J", "H + C = J",
  30. -- "G + D = J", "F + E = J", "E + F = J", "D + G = J", "C + H = J", "B + I = J",
  31. -- "A + J = J"
  32.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement