2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
|
|
@ -1,2 +1,15 @@
|
|||
*Main> map toRoman [1999,25,944]
|
||||
["MCMXCIX","XXV","CMXLIV"]
|
||||
import Data.List (mapAccumL)
|
||||
|
||||
roman :: Int -> String
|
||||
roman n = concatMap concat . snd $ mapAccumL tr n
|
||||
[(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")]
|
||||
where
|
||||
tr a (m, s) = (r, replicate q s)
|
||||
where
|
||||
(q, r) = quotRem a m
|
||||
|
||||
main :: IO ()
|
||||
main = mapM_ (putStrLn . roman) [1666, 1990, 2008, 2016, 2017]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue