Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Data.List
- numlist = [(1000, "M"), (900, "CM"), (500, "D"), (400, "CD"), (100, "C"), (90, "XC"), (50, "L"), (40, "XL"), (10, "X"), (9, "IX"), (5, "V"), (4, "IV"), (1, "I")]
- arab2roman n = concat $ snd $ mapAccumL f n numlist
- where f x (k, v) = let n = div x k in (x - n * k, concat $ replicate n v)
- main = mapM_ (putStrLn . arab2roman) [1..4000]
Add Comment
Please, Sign In to add comment